我正在运行几个Hadoop集群,其中一个非常有用的最佳实践是使用分布式版本控制系统对配置文件进行修订控制。
示例:对于Hadoop,我在etc目录中创建了一个GIT存储库。这非常有帮助,因为我能够恢复到较早的配置设置。唯一的缺点是,如果有更多的人配置服务器,而一个管理员在更改后没有定期提交,那么这个想法就会消失。
关于如何对配置文件进行一些修订控制,有没有更好的建议?
斯特凡
发布于 2014-12-16 23:38:52
您可以拒绝对除单个超级用户之外的所有用户进行写访问,而不是允许用户直接编辑工作目录。普通用户应该只能编辑配置文件的本地副本,当他们准备好将配置文件写入服务器时,他们可以使用git branch -f branch_name new_commit,然后推送到没有连接到任何工作目录的裸存储库。
如果假设所有服务器都有相同的设置,那么只要"production“(或者你想叫它什么)分支被更新,你就可以配置一个接收后钩子来使用超级用户登录来更新所有服务器。(如果希望回滚工作,则必须允许强制更新此分支。)
如果您有时需要某些服务器的不同设置,您可以为每个服务器设置一个分支,例如,production/ server -1 production/ server -2等。修改更新脚本以仅更新与更新后的分支对应的服务器。
当然,您必须在存储库上配置安全性。
您可以使用像Gitolite这样的服务,它可以为您提供逐个分支的权限配置。
有关git hooks或Gitolite的更多信息,请参阅以下链接。
https://stackoverflow.com/questions/27505574
复制相似问题