ZooKeeper 组件安装配置

下载和安装 ZooKeeper

ZooKeeper最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/ 来获取,安装 ZooKeeper组件需要与 Hadoop环境适配。

注意,各节点的防火墙需要关闭,否则会出现连接问题。

  • ZooKeeper的安装包 zookeeper-3.4.8.tar.gz已放置在 Linux系统/opt/software目录下

  • 解压安装包到指定目标,在 Master节点执行如下命令
[root@master ~]# tar -zxvf /opt/software/zookeeper-3.4.8.tar.gz -C /usr/local/src
[root@master ~]# mv /usr/local/src/zookeeper-3.4.8 /usr/local/src/zookeeper

三个节点配置时间同步

yum -y install chrony
vi /etc/chrony.conf
pool time1.aliyun.com iburst
#保存退出
systemctl enable --now chronyd
systemctl status chronyd

ZooKeeper 的配置选项

Master 节点配置

  • 在 ZooKeeper的安装目录下创建 data和 logs文件夹
[root@master ~]# cd /usr/local/src/zookeeper
[root@master zookeeper]# mkdir data && mkdir logs
  • 在每个节点写入该节点的标识编号,每个节点编号不同,master 节点写入 1

    (slave1节点写入 2,slave2节点写入 3;后面步骤有)

    [root@master zookeeper]# echo 1 > /usr/local/src/zookeeper/data/myid
  • 修改配置文件 zoo.cfg
[root@master zookeeper]# cp /usr/local/src/zookeeper/conf/zoo_sample.cfg /usr/local/src/zookeeper/conf/zoo.cfg
[root@master zookeeper]# vi /usr/local/src/zookeeper/conf/zoo.cfg #修改 dataDir参数内容如下:
dataDir=/usr/local/src/zookeeper/dat
#在 zoo.cfg文件末尾追加以下参数配置,表示三个 ZooKeeper节点的访问端口号
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
  • 修改 ZooKeeper安装目录的归属用户为 hadoop用户

    [root@master zookeeper]# chown -R hadoop:hadoop /usr/local/src/zookeeper

Slave 节点配置

  • 从 Master节点复制 ZooKeeper安装目录到两个 Slave节点
[root@master ~] # cd ~
[root@master ~] # scp -r /usr/local/src/zookeeper slave1:/usr/local/src/
[root@master ~] # scp -r /usr/local/src/zookeeper slave2:/usr/local/src/
  • 在 slave1和slave2节点上修改 zookeeper目录的归属用户为 hadoop用户
[root@slave1 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper
[root@slave2 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper
  • 在 slave1和slave2节点上配置该节点的 myid为 2
[root@slave1 ~] # echo 2 > /usr/local/src/zookeeper/data/myid
[root@slave2 ~] # echo 3 > /usr/local/src/zookeeper/data/myid

系统环境变量配置

  • 在 master、slave1、slave2三个节点增加环境变量配置
vi /etc/profile
# 在文件末尾追加 # set zookeeper environment
export ZOOKEEPER_HOME=/usr/local/src/zookeeper # ZooKeeper安装目录
export PATH=$PATH:$ZOOKEEPER_HOME/bin # ZooKeeper可执行程序目录

启动 ZooKeeper

启动 ZooKeeper需要使用 Hadoop用户进行操作

  • 分别在 master、slave1、slave2 三个节点使用 zkServer.sh start 命令启动 ZooKeeper
#master节点
[hadoop@master ~]su – hadoop
[hadoop@master ~]source /etc/profile
# ZooKeeper启动
[hadoop@master ~] zkServer.sh start
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED #slave1节点
[hadoop@slave1 ~] su – hadoop
[hadoop@slave1 ~] source /etc/profile
# ZooKeeper启动
[hadoop@slave1 ~] zkServer.sh start
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED #slave2节点
[hadoop@slave2 ~] su – hadoop
[hadoop@slave2 ~] source /etc/profile
# ZooKeeper启动
[hadoop@slave2 ~] zkServer.sh start
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED
  • 三个节点都启动完成后,再统一查看 ZooKeeper运行状态

分别在 master、slave1、slave2 三个节点使用 zkServer.sh status 命令查ZooKeeper状态。可以看到三个节点的状态分别为 follower、leader、follower。三个节点会包括一个 leader和两个 follower,每个节点地位均等,leader是根据 ZooKeeper内部算法进行选举,每个节点的具体状态不固定

#master节点状态
[hadoop@master ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
Mode: fo11ower # follower状态 #slave1节点状态
[hadoop@s1ave1 ~]$ zkServer.sh status
JMX enab1ed by default
Using config:' /usr/1oca1/src/zookeeper/bin/ . ./conf/zoo.cfg
Mode:1eader # leader状态 #slave2节点状态
[hadoop@s1ave2 ~]$ zkServer.sh status
JMX enabled by default
Using config:' /usr/1oca1/src/zookeeper/bin/ . ./conf/zoo.cfg
Mode: fo11ower # follower状态

最新文章

  1. php多版本管理phpenv
  2. Oracle学习之简单查询
  3. 20145211 《Java程序设计》第4周学习总结——园日涉以成趣
  4. 硬盘类型和Linux的分区
  5. 几款JS地图插件比较
  6. POJ 1225 Substrings
  7. Eclipse上运行Python,使用PyDev
  8. DirectX11 学习笔记2 - 加入关键事件 实现视角转换 旋转
  9. oracle.jdbc.driver.OracleDriver和oracle.jdbc.OracleDriver这两个驱动的区别
  10. javascript对象的标签
  11. 多种Timer的场景应用
  12. Redis五大数据类型
  13. 查看spark RDD 各分区内容
  14. go互斥锁Mutex
  15. Vue 实际项目中你可能会遇见问题
  16. C++课程学习建议
  17. CountDownLatch简单使用
  18. Fiddler可以支持Websocket抓包了
  19. web过滤器使用spring依赖注入
  20. Android 加新的页面

热门文章

  1. 24.Haproxy搭建Web群集
  2. colab简易使用
  3. python 连接SAP 代码
  4. SAP LUW 实现提交数据库更新
  5. python做小游戏——做个马里奥分分钟解决
  6. 《SVDNet for Pedestrian Retrieval》理解
  7. 基于 Github Actions 自动部署 Hexo 博客
  8. CentOS查看操作系统安装时间信息:
  9. java的Test 如何使用@Autowired注解
  10. NOI / 1.2编程基础之变量定义、赋值及转换全题详解(5063字)