• ​​前置条件​​
  • ​​添加host映射可省略​​
  • ​​下载zookeeper安装包并解压​​
  • ​​配置zoocfg文件​​
  • ​​创建myid节点文件​​
  • ​​启动集群​​
  • ​​指定使用的jdk版本​​
  • ​​查看集群状态​​
  • ​​添加自动启动​​


前置条件

已有服务器并安装好jdk1.8
192.168.18.7
192.168.18.22
192.168.18.23

添加host映射(可省略)

vim /etc/hosts

192.168.18.7 dev7
192.168.18.22 dev22
192.168.18.23 dev23

下载zookeeper安装包并解压

# 下载
wget "http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz"

#解压到 /usr/local/zookeeper
[root@localhost zookeeper]# ls
zookeeper-3.4.10 zookeeper-3.4.10.tar.gz

配置zoo.cfg文件

[root@localhost conf]# pwd  
/usr/local/zookeeper/zookeeper-3.4.10/conf
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg

#创建data和logs目录
[root@localhost data]# mkdir -p /data/zookeeper/data /data/zookeeper/logs

#配置zoo.cfg

vim /usr/local/zookeeper/zookeeper-3.4.10/conf/zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
clientPort=2181
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=24
dataLogDir=/data/zookeeper/logs
server.1=192.168.18.7:2888:3888
server.2=192.168.18.22:2888:3888
server.3=192.168.18.23:2888:3888

创建myid节点文件

以server.1对应的序号创建myid文件
如:
echo 1 > /data/zookeeper/data/myid
server.1对应18.7服务器,在18.7服务器上创建的myid内容为1
server.2对应18.7服务器,在18.22服务器上创建的myid内容为2
server.3对应18.7服务器,在18.23服务器上创建的myid内容为3

启动集群

cd /usr/local/zookeeper/zookeeper-3.4.10/bin/
./zkServer.sh start

指定使用的jdk版本

vim zkServer.sh
# 在未注释的最上面添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

查看集群状态

# 主
[root@localhost bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader
# 从
[root@localhost bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

添加自动启动

vim /etc/rc.local 添加:
/usr/local/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start