文章目录
-
- 下载解压
- 创建data和logs
- 配置文件
-
-
- 1)创建目录并且编辑 zoo.cfg创建目录并且编辑 zoo.cfg)
- 2)接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝)
- [4)最后 vim /etc/profile 配置环境变量,环境搭建结束。配完环境变量后 source /etc/profile 重新加载环境变量。](#4)最后 vim /etc/profile 配置环境变量,环境搭建结束。配完环境变量后 source /etc/profile 重新加载环境变量。)
-
- 启动
- 启动脚本
下载解压
bash
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
tar -zxvf zookeeper-3.6.3-bin.tar.gz -C XXXX
创建data和logs
bash
cd XXXX
mkdir data logs
配置文件
1)创建目录并且编辑 zoo.cfg
bash
[root@node01 apache-zookeeper-3.6.3-bin]# cp conf/zoo_sample.cfg conf/zoo.cfg
[root@node01 apache-zookeeper-3.6.3-bin]# vim conf/zoo.cfg
# 修改以下内容 (旁边的数字是行号)
dataDir=XXXX/data
dataLogDir=XXXX/logs
clientPort=2181
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
2)接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝
bash
[root@node01 ~]# scp -r /opt/yjx/apache-zookeeper-3.6.3-bin/ node02:$PWD
[root@node01 ~]# scp -r /opt/yjx/apache-zookeeper-3.6.3-bin/ node03:$PWD
3)在三台节点 /var/yjx/zookeeper/data 目录下分别创建 myid 文件,内容分别为 1,2,3。
bash
node01`在这里插入代码片`
[root@node01 ~]# echo 1 > /var/yjx/zookeeper/data/myid
node02
[root@node02 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node02 ~]# echo 2 > /var/yjx/zookeeper/data/myid
node03
[root@node03 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node03 ~]# echo 3 > /var/yjx/zookeeper/data/myid
#!注意 确定每一个myid只有一行并且没有多余空格
4)最后 vim /etc/profile 配置环境变量,环境搭建结束。配完环境变量后 source /etc/profile 重新加载环境变量。
bash
[root@node01 ~]# vim /etc/profile
export ZOOKEEPER_HOME=/opt/yjx/apache-zookeeper-3.6.3-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH
[root@node01 ~]# source /etc/profile
启动
bash
[root@node01 ~]# zkServer.sh start
[root@node02 ~]# zkServer.sh start
[root@node03 ~]# zkServer.sh start
启动脚本
bash
# 在 /usr/local/bin 目录下创建对应服务的脚本:
[root@node01 ~]# cd ~
[root@node01 ~]# vim zookeeper
..............................................................
#!/bin/bash
user=$(whoami)
case $1 in
"start")
for i in node01 node02 node03
do
echo -e "\e[1;34m==================== $i ZooKeeper 启动 ====================\e[0m"
sleep 3
ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start"
done
;;
"stop")
for i in node01 node02 node03
do
echo -e "\e[1;34m==================== $i ZooKeeper 停止 ====================\e[0m"
ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop"
done
;;
"status")
for i in node01 node01 node03
do
echo -e "\e[1;34m==================== $i ZooKeeper 状态 ====================\e[0m"
ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status"
done
;;
"restart")
for i in node01 node02 node03
do
echo -e "\e[1;34m==================== $i ZooKeeper 重启 ====================\e[0m"
ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart"
done
;;
esac
..............................................................
[root@node01 ~]# chmod 750 zookeeper