概述
分布式协调
Hadoop子项目 树形目录管理
Zookeeper动物管理员 - Hadoop大象 Hive蜜蜂 Pig小猪
ZK 功能
配置管理 分布式锁 集群管理
分布式安装部署
-
下载 zookeeper 安装包,上传并解压到
/opt/module/
目录下
-
配置 zoo.cfg 文件. 将
/opt/module/zookeeper-3.4.10/conf
下的zoo_sample.cfg
重命名为zoo.cfg
. 修改数据存储路径为dataDir=/opt/module/zookeeper-3.4.10/zkData
添加 server id 和节点 IP 路径的对应关系配置
-
配置服务器编号. 在安装目录下创建
zkData
用于存储 zookeeper 相关数据
在 zkData 目录下创建myid
文件,用于集群启动时 Zookeeper 读取. 编辑myid
文件,按照 zoo.cfg 文件的配置添加与 server 对应的编号.
-
将配置好的 Zookeeper 同步到其它机器,注意分别在其它机器上修改
myid
文件的内容,分别在3台服务器上启动 Zookeeper.
[atguigu@hadoop102 ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
[atguigu@hadoop103 ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
[atguigu@hadoop104 ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
- Zookeeper 没有提供同时在多台服务器启动的脚本,需要将 Zookeeper 启停命令封装成脚本方便操作.
- (本地模式安装部署的命令操作应该如下)
# 启动 Zookeeper
[atguigu@hadoop102 ~]$ zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
# 重启 Zookeeper
[atguigu@hadoop102 ~]$ zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
# 查看进程
[atguigu@hadoop102 ~]$ jps
4515 QuorumPeerMain
4686 Jps
# 查看状态
[atguigu@hadoop102 ~]$ zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Mode: standalone
# 启动客户端
[atguigu@hadoop102 zookeeper-3.4.10]$ bin/zkCli.sh
# 退出客户端
[zk: localhost:2181(CONNECTED) 0] quit
# 停止 Zookeeper
[atguigu@hadoop102 ~]$ zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
To be updated…