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