资源规划
| 组件 | bigdata-node1 | bigdata-node2 | bigdata-node3 |
|---|---|---|---|
| OS | centos7.6 | centos7.6 | centos7.6 |
| JDK | jvm | jvm | jvm |
| Zookeeper | QuorumPeerMain | QuorumPeerMain | QuorumPeerMain |
安装介质
版本:zookeeper-3.4.10.tar.gz
下载:http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10
环境准备
安装JDK
安装ZooKeeper
解压缩
# 先在节点bigdata-node1上安装,之后分发到bigdata-node2、bigdata-node3cd /sharetar -xvf zookeeper-3.4.10.tar.gz -C ~/modules/rm zookeeper-3.4.10.tar.gz
配置
创建data目录、log目录及myid文件。
mkdir -p ~/modules/zookeeper-3.4.10/datamkdir -p ~/modules/zookeeper-3.4.10/logcd ~/modules/zookeeper-3.4.10/datatouch myid
myid分别写入{1,2,3},具体那台机器写入什么值根据zoo.cfg中的配置设置,如server.1=xxxx,则myid写入1即可。
修改zoo.cfg。
cd ~/modules/zookeeper-3.4.10/confcp zoo_sample.cfg zoo.cfgvi zoo.cfg
3.配置zoo.cfg
# 心跳时间tickTime=2000# follow连接leader的初始化连接时间,表示tickTime的倍数initLimit=10# syncLimit配置表示leader与follower之间发送消息,请求和应答时间长度。如果followe在设置的时间内不能与leader进行通信,那么此follower将被丢弃,tickTime的倍数syncLimit=5# 客户端连接端口clientPort=2181# 节点数据存储目录,需要提前创建,注意myid添加,用于标识服务器节点dataDir=/home/vagrant/modules/zookeeper-3.4.10/datadataLogDir=/home/vagrant/modules/zookeeper-3.4.10/logserver.1=192.168.0.101:2888:3888server.2=192.168.0.102:2888:3888server.3=192.168.0.103:2888:3888
4.配置zkEnv.sh。
vi ~/modules/zookeeper-3.4.10/bin/zkEnv.sh
配置如下:
export JAVA_HOME=/home/vagrant/modules/jdk1.8.0_221
分发
cd ~/modules/scp -r zookeeper-3.4.10 vagrant@bigdata-node2:~/modules/scp -r zookeeper-3.4.10 vagrant@bigdata-node3:~/modules/
分发后注意编辑myid:
vi ~/modules/zookeeper-3.4.10/data/myid
bigdata-node1节点:
1
bigdata-node2节点:
2
bigdata-node3节点:
3
验证
cd ~/modules/zookeeper-3.4.10/bin# 解决状态无法查看问题# ls -l /bin/sh# sudo ln -sf bash /bin/sh# {start|start-foreground|stop|restart|status|upgrade|print-cmd}sh zkServer.sh startsh zkServer.sh statussh zkServer.sh stop# 查看启动进程main方法相关的进程jps -mps -ef |grep zookeeper# 客户端工具./zkCli.sh -server localhost:2181
