配置设置的分布式版本控制

时间:2014-12-16 13:18:14

标签: git hadoop dvcs

我正在运行几个Hadoop集群,一个非常方便的最佳实践是使用分布式版本控制系统来对配置文件进行修订控制。

示例:对于Hadoop,我在etc目录中创建了一个GIT存储库。这非常有用,因为我能够恢复到早期的配置设置。唯一的缺点是,如果更多的人配置服务器并且一个管理员在更改后没有定期提交,那么这个想法就消失了。

关于如何对配置文件进行一些修订控制,是否有更好的建议?

的Stefan

1 个答案:

答案 0 :(得分:1)

除了允许用户直接编辑工作目录,您可以拒绝对除一个超级用户之外的所有用户的写访问。普通用户应该只能编辑配置文件的本地副本,当他们准备好将它们写入服务器时,他们可以使用git branch -f branch_name new_commit,然后推送到没有连接到任何服务器的裸存储库工作目录。

如果所有服务器都应具有相同的设置,则可以配置后接收挂钩,以便在更新“生产”(或任何您要调用它)分支时使用超级用户登录更新所有服务器。 (如果要使回滚起作用,则必须允许对此分支进行强制更新。)

如果您有时需要为某些服务器设置不同的设置,则可以为每个服务器分配一个分支,例如,production / server-1 production / server-2等。修改更新脚本以仅更新与更新的分支对应的服务器

当然,您必须在存储库上配置安全性。

您可以使用Gitolite这样的服务,它可以为您提供逐个分支的权限配置。

有关git hooksGitolite的更多信息,请参阅以下链接。