- 使用的测试环境如下所示:
ip | 系统版本 | 主机名 | zookeeper版本 |
---|---|---|---|
172.16.50.61 | centos7 | kafka_zk_01 | 3.6.0 |
172.16.50.62 | centos7 | kafka_zk_02 | 3.6.0 |
172.16.50.63 | centos7 | kafka_zk_03 | 3.6.0 |
- 安装java环境,参考centos7 安装手动安装java环境
- 使用以下命令在三台服务器上面安装zookeeper
cd /opt && wget https://downloads.apache.org/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0-bin.tar.gz
tar zxvf apache-zookeeper-3.6.0-bin.tar.gz && mv apache-zookeeper-3.6.0-bin zookeeper
mkdir -p /opt/zookeeper/data ## 创建这个目录是下面步骤的配置文件使用
mkdir -p /opt/zookeeper/logs ## 创建这个目录是下面步骤的配置文件使用
- 在三台服务器上面都创建并编辑这个文件”/opt/zookeeper/conf/zoo.cfg”,写入以下内容:
clientPort=2181
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/logs
maxClientCnxns=600
autopurge.snapRetainCount=30
autopurge.purgeInterval=1
server.1=172.16.50.61:2888:3888
server.2=172.16.50.62:2888:3888
server.3=172.16.50.63:2888:3888
- 在”kafka_zk_01″这台服务器上面运行以下命令 :
echo "1" > /opt/zookeeper/data/myid
- 在”kafka_zk_02″这台服务器上面运行以下命令 :
echo "2" > /opt/zookeeper/data/myid
- 在”kafka_zk_03″这台服务器上面运行以下命令 :
echo "3" > /opt/zookeeper/data/myid
- 创建 “/etc/systemd/system/zookeeper.service” 文件 ,写入以下内容,使用systemd控制zookerper的启动
[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/zookeeper/
Environment=ZOO_LOG_DIR=/opt/zookeeper/logs
Environment=ZOOPIDFILE=/opt/zookeeper/logs/zookeeper_server.pid
PIDFile=/opt/zookeeper/logs/zookeeper_server.pid
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/jdk/bin
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
ExecReload=/opt/zookeeper/bin/zkServer.sh restart
User=root
[Install]
WantedBy=multi-user.target
- 最后使用以下命令启动zookeeper,并开启开机启动功能
systemctl daemon-reload
systemctl start zookeeper
systemctl enable zookeeper