依赖环境:jdk 1.8.0_151 (必须安装) 下载: apache-zookeeper-3.5.9.tar.gz 安装目录:/middleware/zookeeper/2.在终端进入对应的文件的目录,进一步解压,输入tar -zxvf +需要解压的包名
tar zxvf apache-zookeeper-3.5.9.tar.gz3.配置 3.1各节点必须文件复制和新建
cd /middleware/zookeeper #将解压缩的文件复制出三份(需要几个节点就复制几份) cp -rf apache-zookeeper-3.5.9-bin node1 cp -rf apache-zookeeper-3.5.9-bin node2 cp -rf apache-zookeeper-3.5.9-bin node3 #创建data文件夹 mkdir /middleware/zookeeper/node1/data mkdir /middleware/zookeeper/node2/data mkdir /middleware/zookeeper/node3/data #在data目录中配置myid文件。myid文件中存放对应节点的序号 #与配置文件中的server.1,server.2,server.3一致 echo '1' > /middleware/zookeeper/node1/data/myid echo '2' > /middleware/zookeeper/node2/data/myid echo '3' > /middleware/zookeeper/node3/data/myid3.2 zoo.cfg 文件修改
将原来的zoo-simple.cfg 复制为zoo.cfg 文件(启动脚本中读取的就是zoo.cfg 自带的zoo-simple.cfg 只是官方提供的示例),节点1配置如下:
#zookeeper时间单元,单位为毫秒 tickTime=2000 #集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。 initLimit=10 # 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=5 # data数据目录 dataDir=/middleware/zookeeper/node1/data # 客户端连接端口 clientPort=2181 # 客户端最大连接数 #maxClientCnxns=60 # 需要保留的快照数目 #autopurge.snapRetainCount=3 # 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启 #autopurge.purgeInterval=1 #集群配置 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890
节点2配置如下
#zookeeper时间单元,单位为毫秒 tickTime=2000 #集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。 initLimit=10 # 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=5 # data数据目录 dataDir=/middleware/zookeeper/node2/data # 客户端连接端口 clientPort=2182 # 客户端最大连接数 #maxClientCnxns=60 # 需要保留的快照数目 #autopurge.snapRetainCount=3 # 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启 #autopurge.purgeInterval=1 #集群配置 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890
节点3配置如下
#zookeeper时间单元,单位为毫秒 tickTime=2000 #集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。 initLimit=10 # 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=5 # data数据目录 dataDir=/middleware/zookeeper/node3/data # 客户端连接端口 clientPort=2183 # 客户端最大连接数 #maxClientCnxns=60 # 需要保留的快照数目 #autopurge.snapRetainCount=3 # 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启 #autopurge.purgeInterval=1 #集群配置 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:38903.3修改 bin 目录下的zkEnv.sh
#将zkEnv.sh脚本中的ZOO_LOG_DIR 修改为 ZOO_LOG_DIR="../logs/"4.启动和验证 4.1启动
#进入各个节点的bin目录,分别运行zkServer.sh脚本启动zk ./zkServer.sh start
启动效果如图则为启动成功
[root@chengxiaobai bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /middleware/zookeeper/node2/bin/../conf/zoo.cfg Starting zookeeper ... STARTED4.2检查各节点状态
#进入各节点bin目录 #检查node1节点状态 [root@chengxiaobai bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /middleware/zookeeper/node1/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: follower #检查node2节点状态 [root@chengxiaobai bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /middleware/zookeeper/node2/bin/../conf/zoo.cfg Client port found: 2182. Client address: localhost. Client SSL: false. Mode: follower #检查node3节点状态(最先启动的节点) [root@chengxiaobai bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /middleware/zookeeper/node3/bin/../conf/zoo.cfg Client port found: 2183. Client address: localhost. Client SSL: false. Mode: leader



