一、下载地址
http://mirror.bit.edu.cn/apache/zookeeper/ 选择当前版本,tar -zxvf zookeeper-3.4.14.tar.gz
二、配置
进入zookeeper-3.4.14/conf 目录,将zoo_sample.cfg(样板配置文件)命名为zoo.cfg
里面有两个比较重要的配置:
(1)、dataDir=/opt/zookeeper-3.4.10/data # 数据存放位置,可根据需要修改;
(2)、clientPort=2181 # 服务监听端口,可根据需要修改;
(3)、dataLogDir=xxxx #存在日志的目录
在其中一台机器的zoo.cfg文件中添加, 集群机器列表,ip,端口信息
server.1=192.168.236.128:2888:3888
server.2=192.168.236.130:2888:3888
server.3=192.168.236.131:2888:3888
(说明:server.X,这个X值即为集群机器中myid
文件中的值;后面的IP即为集群机器的IP,后面的两个端口号依次为集群中节点交换信息的端口、重新选举Leader的通信端口)
三、启动服务
Zookeeper集群的启动,需要进入各个节点单独启动。进入Zookeeper的/bin目录下执行命令 ./zkServer.sh start即可启动服务。然后执行命令./zkServer.sh status查看服务状态并可以看到当前节点是leader(主)节点还是follower(从)节点。
如果启动失败,可以查看/bin目录下启动生成的日志文件zookeeper.out
,看失败的原因是什么,然后对症下药调整。(常见的失败原因有:防火墙未关闭、配置文件未创建、数据目录未创建、myid文件未创建或创建有误等)
关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
如果提示:Caused by: java.lang.IllegalArgumentException: /home/guomei/install/kafka_test/zookeeper_data/myid file is missing
解决 :在zk数据文件存放目录下(见 $ZK/conf/zoo.cfg,dataDir属性),创建myid文件并写入一个数字用来标识本节点(类似这个节点的身份证)。