1、 搭建前准备
示例共三台主机,主机IP映射信息如下:
192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3
2、下载ZooKeeper, 以 zookeeper-3.4.14 为例,下载地址如下:
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
3、复制下载好的zookeeper-3.4.14.tar.gz 到s1主机上,并解压到/opt 下
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/
4、配置
在 s1 上创建data目录和myid文件
mkdir /opt/zookeeper-3.4.14/data echo 1 > /opt/zookeeper-3.4.14/data/myid
创建conf/zoo.cfg
vi /opt/zookeeper-3.4.14/conf/zoo.cfg
输入如下内容:
tickTime=2000 initLimit=5 syncLimit=2 dataDir=/opt/zookeeper-3.4.14/data dataLogDir=/opt/zookeeper-3.4.14/logs clientPort=2181 server.1=s1:2888:3888 server.2=s2:2888:3888 server.3=s3:2888:3888
5、远程复制zookeeper到另外两台主机 s2、s3 上
scp -r /opt/zookeeper-3.4.14 root@s2:/opt/ scp -r /opt/zookeeper-3.4.14 root@s3:/opt/
登录主机s2 ,修改 myid 文件
ssh s2 echo 2 > /opt/zookeeper-3.4.14/data/myid
登录主机s3 ,修改 myid 文件
ssh s3 echo 3 > /opt/zookeeper-3.4.14/data/myid
6、配置三台主机环境变量
vi /etc/profile
添加内容如下:
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.14 export PATH=$PATH:$ZOOKEEPER_HOME/bin
使用source命令使配置立即生效
source /etc/profile
7、启动
在三台主机上分别执行如下命令
zkServer.sh start
查询运行状态
zkServer.sh status
三台主机显示信息如下:
[root@s1 conf]# zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg Mode: follower
[root@s2 opt]# zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg Mode: leader
[root@s3 opt]# zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg Mode: follower
leader:s2
follower:s1、s3
重启命令
zkServer.sh restart
停止命令
zkServer.sh stop
8、客户端连接
/opt/zookeeper-3.4.14/bin/zkCli.sh -server s1:2181
输入 h 查看所有命令
查看节点命令
ls /
指定ZooKeeper日志zookeeper.out的输出目录,不指定情况下会输出到运行zkServer.sh时的当前目录
在zkServer.sh文件里加入一行配置即可指定输出目录,如下所示:
ZOO_LOG_DIR=/opt/zookeeper-3.4.14/logs
ZooKeeper 完全分布式集群环境搭建
.