Zookeeper安装

下载

官网首页:

https://zookeeper.apache.org/

下载地址:

https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

本地模式安装

集群安装

  1. 下载解压
  1. # 进入/opt目录下
  2. cd /opt
  3. # 下载安装包
  4. wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
  5. # 解压安装包
  6. tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
  7. # 修改目录名
  8. mv apache-zookeeper-3.7.0-bin zookeeper-3.7.0
  1. 配置myid
# 进入zk目录下
cd zookeeper-3.7.0
# 创建zkData目录
mkdir zkData
# 在zkData目录下创建一个myid的文件
vi zkData/myid
# 在文件中添加与服务器对应的编号(注意,上下不要有空格,左右不要有空格)
2
# 将配置好的zookeeper分发到其他机器
xsync zookeeper-3.7.0
# 分别在hadoop103,hadoop104上修改myid的文件内容为3和4
  1. 修改zoo.cfg配置
# 进入zk的conf目录下
cd zookeeper-3.7.0/conf
# 修改zoo_sample.cfg为zoo.cfg
mv zoo_sample.cfg zoo.cfg
# 修改zoo.cfg文件内容
vim zoo.cfg
# 修改dataDir
dataDir=/opt/zookeeper-3.7.0/zkData
# 增加集群配置
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
# 保存修改
:wq
# 同步zoo.cfg配置文件
xsync zoo.cfg
  1. 分别在各服务器上启动zk
bin/zkServer.sh start
  1. 查看zk启动状态
bin/zkServer.sh status
# leader节点状态
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.7.0/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
# follower节点状态
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.7.0/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

集群启动脚本

# 进入hadoop用户的bin目录下
cd /home/hadoop/bin
# 创建zk.sh文件
vim zk.sh

编写脚本如下

#!/bin/bash
# zk所在目录
ZK_DIR=/opt/zookeeper-3.7.0
case $1 in
"start"){
  for i in hadoop102 hadoop103 hadoop104
  do
    echo "---------- zookeeper $i 启动 ------------"
    ssh $i "${ZK_DIR}/bin/zkServer.sh start"
  done
};;
"stop"){
  for i in hadoop102 hadoop103 hadoop104
  do
    echo "---------- zookeeper $i 停止 ------------"
    ssh $i "${ZK_DIR}/bin/zkServer.sh stop"
  done
};;
"status"){
  for i in hadoop102 hadoop103 hadoop104
  do
    echo "---------- zookeeper $i 状态 ------------"
    ssh $i "${ZK_DIR}/bin/zkServer.sh status"
  done
};;
esac

增加脚本执行权限

chmod u+x zk.sh

启动&停止集群

# 启动集群
zk.sh start
# 停止集群
zk.sh stop
# 查看集群状态
zk.sh status