作者:@郑琰
本文转载请注明出处!:https://www.cnblogs.com/zhengyan6/p/16125850.html
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] |
| [root@master zookeeper] |
| |
| |
| dataDir=/usr/local/src/zookeeper/dat |
| |
| 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 |
| |
| |
| |
| export ZOOKEEPER_HOME=/usr/local/src/zookeeper |
| export PATH=$PATH:$ZOOKEEPER_HOME/bin |
启动 ZooKeeper
启动 ZooKeeper需要使用 Hadoop用户进行操作
- 分别在 master、slave1、slave2 三个节点使用 zkServer.sh start 命令启动 ZooKeeper
| |
| [hadoop@master ~]su – hadoop |
| [hadoop@master ~]source /etc/profile |
| |
| [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 |
| |
| |
| [hadoop@slave2 ~] su – hadoop |
| [hadoop@slave2 ~] source /etc/profile |
| |
| [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: |
| Mode:1eader # leader状态 |
| |
| #slave2节点状态 |
| [hadoop@s1ave2 ~]$ zkServer.sh status |
| JMX enabled by default |
| Using config: |
| Mode: fo11ower # follower状态 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)