cd /home
wget http://mirror.cnop.net/apache/zookeeper/zookeeper-3.4.10.tar.gz
tar zxvf zookeeper-3.4.10.tar.gz && mv zookeeper-3.4.10 zookeeper && cd zookeeper/conf && cp zoo_sample.cfg zoo.cfg
2.添加防火墙
centos 6.x :
/sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT && /sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT && /sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT
/etc/rc.d/init.d/iptables save
service iptables restart
centos7 :
firewall-cmd --zone=public --add-port=2181/tcp --permanent && firewall-cmd --zone=public --add-port=2888/tcp --permanent && firewall-cmd --zone=public --add-port=3888/tcp --permanent
systemctl restart firewalld.service
单机模式配置:
vi zoo.cfg
tickTime=2000 #时长单位为毫秒,为zk使用的基本时间度量单位。tickTime的默认值为2000毫秒,更低的tickTime值可以更快地发现超时问题,但也会导致更高的网络流量(心跳消息)和更高的CPU使用率。
dataDir=/tmp/zookeeper #必须配置,用于配置存储快照文件的目录。如果没有配置dataLogDir,那么事务日志也会存储在此目录。
clientPort=2181
initLimit=5
syncLimit=2
启动:
/home/zookeeper/bin/zkServer.sh start
/home/zookeeper/bin/zkServer.sh status
在linux下客户端连接zookeeper的话,使用下列命令 如果想要连到指定的ip输入以下:
/home/zookeeper/bin/zkCli.sh -server 192.168.0.1:2181
服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
集群模式
在集群模式下,所有的zk进程可以使用相同的配置文件(是指各个zk进程部署在不同的机器上面),例如如下配置:
vi zoo.cfg
tickTime=2000
dataDir=/tmp/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.1.100:2888:3888
server.2=192.168.1.101:2888:3888
server.3=192.168.1.102:2888:3888
以下操作在3台不同主机上分别完成server.【id】为要打印的id(请参考以上id):
192.168.1.100 mkdir /tmp/zookeeper && echo "1"> /tmp/zookeeper/myid
192.168.1.102 mkdir /tmp/zookeeper && echo "2"> /tmp/zookeeper/myid
192.168.1.103 mkdir /tmp/zookeeper && echo "3"> /tmp/zookeeper/myid
启动:
/home/zookeeper/bin/zkServer.sh start #有时可能会延迟几秒才能启动
/home/zookeeper/bin/zkServer.sh status #正常情况下一个为 leader ,另外两个为follower
开启启动(centos6.x):
vi /etc/rc.local #加入以下
su - jjzb -c "/home/zookeeper/bin/zkServer.sh start"
reboot
日志:
默认启动目录下 zookeeper.out