我需要部署三个不同的 Zookeeper 集群。集群内的每个服务器都应配置为知道其 ID 是什么(并创建一个 myid 文件)。此外,每个 Zookeeper 服务器都需要知道集群中所有服务器及其相应 ID 的列表。
有没有办法只在每个集群的一个位置配置这个?定义一个应该运行 Zookeeper 的服务器,在集群“QA”中,ID 为 4。此信息将用于
- 确定服务器是否需要运行 zookeeper 类
- 将正确的 id 写入 myid 文件
- 将具有正确 ID 的服务器添加到所有其他 zookeeper 节点并更新/重新启动它们
我对 foreman 还不太熟悉,不知道该怎么做。 foreman 是不是不合适的工具?我应该使用普通的 puppet 和类似代码吗?使用 Puppet 自动创建集群成员?