VMware中ZooKeeper的伪分布式安装方法(Ubuntu18.04)
环境: VMware Workstation 16 Pro、Ubuntu18.04、java version “1.8.0_301”、Hadoop 3.1.3
1、安装
1.1 创建目录结构
在 /usr/local 创建 zookeeper 目录结构
root@wyc:~# cd /usr/local
root@wyc:/usr/local# mkdir zookeeper
root@wyc:/usr/local# cd zookeeper/
# zoo_1/2/3 用于存放节点的快照
root@wyc:/usr/local/zookeeper# mkdir zoo_1
root@wyc:/usr/local/zookeeper# mkdir zoo_2
root@wyc:/usr/local/zookeeper# mkdir zoo_3
# zoo_1/2/3_dataLog 用于存放节点的事务日志
root@wyc:/usr/local/zookeeper# mkdir zoo_1_dataLog
root@wyc:/usr/local/zookeeper# mkdir zoo_2_dataLog
root@wyc:/usr/local/zookeeper# mkdir zoo_3_dataLog
1.2 解压压缩包
用 Xftp 把 zookeeper 压缩包(提取码: ej2w)上传到上面新建的 zookeeper 文件夹内,解压
root@wyc:/usr/local/zookeeper# tar -zxvf zookeeper-3.4.0.tar.gz
配置环境
root@wyc:/usr/local/zookeeper# vim ~/.bashrc
在文件末尾处添加以下几行内容:
export ZK_HOME=/usr/local/zookeeper/zookeeper-3.4.0
export PATH=$PATH:$ZK_HOME/bin
保存并退出,接着使我们刚加入的环境变量生效:
root@wyc:/usr/local/zookeeper# source ~/.bashrc
输入 zk 利用 tab 键补全如果有如图的命令选项则环境变量配置成功:
2、分配myid
每个节点赋予节点标识命令如下:
扫描二维码关注公众号,回复:
14142011 查看本文章

#server1
echo "1" > /usr/local/zookeeper/zoo_1/myid
#server2
echo "2" > /usr/local/zookeeper/zoo_2/myid
#server3
echo "3" > /usr/local/zookeeper/zoo_3/myid
3、创建不同节点配置文件
root@wyc:/usr/local/zookeeper# cd /usr/local/zookeeper/zookeeper-3.4.0/conf
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0/conf# cp zoo_sample.cfg zoo1.cfg
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0/conf# cp zoo_sample.cfg zoo2.cfg
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0/conf# cp zoo_sample.cfg zoo3.cfg
创建完 conf 文件夹有如下这些文件:
4、修改配置文件内容
三个节点的配置文件只有dataDir、dataLogDir、clientPort不同
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0/conf# vim zoo1.cfg
添加或者修改以下几行内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zoo_1
dataLogDir=/usr/local/zookeeper/zoo_1_dataLog
clientPort=2181
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0/conf# vim zoo2.cfg
添加或者修改以下几行内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zoo_2
dataLogDir=/usr/local/zookeeper/zoo_2_dataLog
clientPort=2182
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0/conf# vim zoo3.cfg
添加或者修改以下几行内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/zoo_3
dataLogDir=/usr/local/zookeeper/zoo_3_dataLog
clientPort=2183
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889
5、启动zookeeper
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0# bin/zkServer.sh start zoo1.cfg
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0# bin/zkServer.sh start zoo2.cfg
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0# bin/zkServer.sh start zoo3.cfg
6、查看进程
输入 jps 如出现下图,则 zookeeper 正常启动
7、验证,查看节点的leader和follower
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0# bin/zkServer.sh status conf/zoo1.cfg
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0# bin/zkServer.sh status conf/zoo2.cfg
root@wyc:/usr/local/zookeeper/zookeeper-3.4.0# bin/zkServer.sh status conf/zoo3.cfg
到这里,zookeeper 伪分布式就算成功安装启动完成了。