测试环境
两台机器,IP地址分别为
- 172.24.3.111
- 172.24.3.112
由于条件限制,只使用了两台机器做演示,如果有条件做好使用3台或者以上技术台机器进行ZooKeeper的分布式部署。
ZooKeeper基础配置
- dataDir=/data/zookeeper/zkdata 快照的存储路径
- dataLogDir=/data/zookeeper/zkdatalog 事务日志的存储路径
- initLimit=10 zk集群启动达到一致状态所需要的时间,必须在这个时间内将其它机器启动起来,产生leader
- syncLimit=5 leader向slaver发送一个请求查看其状态,slaver返回一个状态,超过此项配置的时间,则认为slaver已经死机
- server.## 服务器地址及标示,具体格式是IP:port1:port2,其中port1是master和slave通信使用的端口,默认为2888,port2是master选举时使用的端口,默认为3888,例如 server.11=172.24.3.111:12888:13888
备注: zookeeper集群如果有半数以上机器正常,就能够向外提供服务。
如果不配置dataLogDir路径,那么事务日志会存放在dataDir,由于事务日志很多,会影响zookeeper的性能
lc11总体配置如下图所示:
写标识
在dataDir目录下创建标示文件
echo "11" > myid
数据目录/data/datamaster/confluent/zookeeper/data中,myid文件的内容为机器名字的数字后缀,server.11内容如下图:
server.12内容如下图:
启动服务
nohup /opt/dmcomponents/confluent/bin/kafka-server-start /opt/confluent/etc/kafka/server.properties > /data/datamaster/confluent/logs/kafka.log &
查看状态
zkServer.sh status
zk服务正常运行过程中,会产生大量的事务日志。用户需要定期清理。
清理方法参考:
http://blog.csdn.net/xiaolang85/article/details/21184293
参考:
zookeeper集群的搭建