关于Zookeeper集群配置文件同步
----关于Zookeeper不做过多解释
由于项目需要,最近需要用到Zookeeper管理服务器集群,来做集群的高可用。
Zookeeper在做集群管理时候可谓非常方便,但是也遇到不少疑惑,所以在这里请教一个问题:
Zookeeper将代码目录里面的 conf/zoo.cfg 文件视为配置。
一个简单的Demo配置文件如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/appdatas/zkdatas/zk3
clientPort=2183
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
解释:单机配置一个三个Zookeeper的节点。dataDir存放数据目录,配置时候需要在dataDir下面加上 myid 文件指定当前节点的id值。
如果是正式环境,基本可以保证每一台机器的配置都相同,但是如果在添加新机器的时候,需要将新的 server.id配置到每一台机器的配置文件中。
问题如下:
1.怎么做到新添加机器的时候同步最后的 server.id 配置选项到每一台机器
2.添加了新机器并做好相应的配置后,节点是否需要重启
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1.先更新配置文件,可以通过puppet之类的管理(其实一般zookeeper不多的话,直接用scp就可以了),把新节点更新到配置文件
2.不需要重启,但是client端识别不到该节点
一般 zk 的部署节点不会太多, 一般的情况下 5 个节点, 甚至是 3 个节点.
在这种节点很少的情况下, 我的做法是加上一个脚本, 读取本机的 ip, 然后根据一定的逻辑设定 myid.
这样就可以在所有环境中共用同一个脚本, 影响脚本结果的变量是节点的IP.
楼主能详细介绍一下,你目前对这两个问题的理解吗?