ZooKeeper安装

配置文件位置

zk_home/conf/zoo.sample.cfg

需要把这个文件复制成zoo.cfg然后进行修改。

数据文件存储位置

配置成这样

dataDir=/root/zkData

并确保目录已经存在,正在该文件夹中创建一个名为myid的文件,里面存储server.<myid>中所指的值。

配置集群服务器列表

例如


server.1=192.168.1.110:2888:3888 server.2=192.168.1.111:2888:3888 ...

具体说明参考:http://zookeeper.apache.org/doc/r3.4.11/zookeeperStarted.html#sc_RunningReplicatedZooKeeper

启动

zkServer.sh start

查看状态

 ./zkServer.sh  status

异常

可能出现如下异常:

java.net.NoRouteToHostException: No route to host
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:579)
        at org.apache.zookeeper.server.quorum.Learner.connectToLeader(Learner.java:229)
        at org.apache.zookeeper.server.quorum.Follower.followLeader(Follower.java:71)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:937)

原因可能是防火墙,简单来说就是把防火墙直接关掉。

centos7中关闭防火墙的方法:

systemctl stop firewalld

原文地址:https://www.cnblogs.com/at0x7c00/p/7977480.html