1.下载
戳链接:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
2.解压
tar -zxvpf zookeeper-x.x.xx.tar.gz -C /xx/xx
注:添加-C参数,将文件解压到指定文件夹
3.配置文件
(1)复制 zookeeper/conf目录下的zoo_sample.cfg为zoo.cfg
cp zoo_sample.cfg zoo.cfg
(2)修改数据路径
dataDir=/xx/xx/zookeeper/data
(3)增加节点信息,一般是奇数个节点,防止脑裂
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
注:server.n指定了编号为n的Zookeeper服务器使用的地址和端口号,每个节点服务器配置项用冒号分为三部分,第一部分noden
为节点IP地址或主机名(/ect/hosts文件配置地址映射),第二部分2888
为仲裁模式下节点之间相互通信的TCP端口,第三部分3888
为群首选举通信的TCP端口,配置完成后的zoo.cfg如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/dev/zookeeper-3.4.14/data
clientPort=2181
server.1=xlt1:2888:3888
server.2=xlt2:2888:3888
server.3=xlt3:2888:3888
(4)配置服务器ID
集群配置完成之后还需为每个节点创建一个ID文件用来各自识别,在集群配置中的dataDir目录下,即/usr/local/dev/zookeeper-3.4.14/data目录下,创建文件myid,为各节点添加唯一标识ID
echo 1 > xlt1/zookeeper/data/myid
echo 2 > xlt2/zookeeper/data/myid
echo 3 > xlt3/zookeeper/data/myid
4.启动
bash bin/zkServer.sh start conf/zoo.cfg
5.查看状态
bash bin/zkServer.sh status
备注:笔者用的操作系统是CentOS 7.3,CentOS 7默认有fillwalld 和SELinux,如果启动时报:java.net.NoRouteToHostException: No route to host,需要将这两个软件关闭
service firewalld stop
setenforce 0