Zookeeper配置文件
- - 学着站在巨人的肩膀上复制conf/zoo_sample.cfg文件为conf/zoo.cfg,修改其中的数据目录. tickTime:这个时间作为Zookeeper服务器之间或者服务器与客户端之间维护心跳的时间,时间单位毫秒. initLimit:选举leader的初始延时. 由于服务器启动加载数据需要一定的时间(尤其是配置数据非常多),因此在选举 Leader后立即同步数据前需要一定的时间来完成初始化.
复制conf/zoo_sample.cfg文件为conf/zoo.cfg,修改其中的数据目录。
# cat /opt/apps/zookeeper/conf/zoo.cfg tickTime=2000 initLimit=5 syncLimit=2 dataDir=/opt/zkdata clientPort=2181
相关配置如下:
如果是单机模式的话,那么只需要tickTime/dataDir/clientPort三个参数即可,这在单机调试环境很有效。
# cat /opt/apps/zookeeper/conf/zoo.cfg tickTime=2000 initLimit=5 syncLimit=2 dataDir=/opt/zkdata clientPort=2181 server.1=10.11.5.202:2888:3888 server.2=192.168.105.218:2888:3888 server.3=192.168.105.65:2888:3888
其中server.X的配置是每一个机器的相关参数。X代表唯一序号,例如1/2/3等,值是IP:PORT:PORT。其中IP是 zookeeper服务器的IP地址或者域名,第一个PORT(例如2888)是服务器之间交换数据的端口,也即Follower连接Leader的端 口,而第二个端口(例如3888)是各服务器选举Leader的端口。单机配置集群的话可以通过不同的端口来实现。
# rsync --inplace -vzrtLp --delete-after --progress /opt/apps/zookeeper [email protected]:/opt/apps # rsync --inplace -vzrtLp --delete-after --progress /opt/apps/zookeeper [email protected]:/opt/apps
注意,此id需要和zoo.cfg中的配置对应起来
ssh [email protected] 'echo 1 > /opt/zkdata/myid' ssh [email protected] 'echo 2 > /opt/zkdata/myid' ssh [email protected] 'echo 3 > /opt/zkdata/myid'
ssh [email protected] '/opt/apps/zookeeper/bin/zkServer.sh start' ssh [email protected] '/opt/apps/zookeeper/bin/zkServer.sh start' ssh [email protected] '/opt/apps/zookeeper/bin/zkServer.sh start'
如果开启了iptables防火墙,则需要在文件/etc/sysconfig/iptables文件下增加如下配置
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
重启防火墙:
service iptables restart阅读全文