D003 复制粘贴玩大数据之安装与配置Zookeeper集群

0x00 教程内容

  1. Zookeeper的获取
  2. 上传安装包到集群
  3. 安装Zookeeper集群
  4. Zookeeper集群校验

0x01 Zookeeper的获取

1. 官网下载

a. 为了统一,此处下载zk3.4.10版本 :https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/

2. 添加微信:shaonaiyi888
3. 关注公众号:邵奈一

a. 回复zookeeper获取

0x02 上传安装包到集群

1. 上传安装包到虚拟机

在这里插入图片描述
PS:如果不是docker部署的集群,则直接上传到虚拟机即可,因为,每台虚拟机就是一个节点。

2. 复制安装包到master节点

docker cp zookeeper-3.4.10.tar.gz hadoop-master:/root
sh master.sh
ll
在这里插入图片描述

0x03 安装Zookeeper集群

1. 在master上安装单机版zk

a. 解压安装包(-C为指定解压到/usr/local路径)
tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local
在这里插入图片描述
b. 创建Zookeeper对应的路径:
在这里插入图片描述
mkdir /usr/local/zookeeper-3.4.10/datadir
mkdir /usr/local/zookeeper-3.4.10/log
在这里插入图片描述
c. 修改Zookeeper的配置文件($ZK_HOME/conf):
cd /usr/local/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
在这里插入图片描述

  • 修改dataDir,加上dataLogDir:
    dataDir=/usr/local/zookeeper-3.4.10/datadir
    dataLogDir=/usr/local/zookeeper-3.4.10/log
    在这里插入图片描述
  • 配置环境变量(可看到docker生成节点时默认配好的其他环境变量)
    vi /etc/profile
export ZK_HOME=/usr/local/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin

在这里插入图片描述

  • 使配置生效(echo一下有内容输入,说明已经配好)
    source /etc/profile
    在这里插入图片描述
2. 校验单机版zk

a. 启动Zookeeper
zkServer.sh start
b. 查看进程(有QuorumPeerMain说明成功)
jps
在这里插入图片描述

3. 在同步zk到slave1、slave2

a. 停止master上的zk
zkServer.sh stop
在这里插入图片描述
b. 配置集群所需的参数及文件

  • 添加上节点的关系(修改成自己对应的节点名)
    vi zoo.cfg
server.0=hadoop-master:8880:7770
server.1=hadoop-slave1:8881:7771
server.2=hadoop-slave2:8882:7772

在这里插入图片描述

  • 在之前创建的datadir目录下创建表示文件
    vi ../datadir/myid
    在这里插入图片描述
    然后输入0,保存,退出

c. 复制zk主目录到slave1、slave2
scp -r /usr/local/zookeeper-3.4.10 root@hadoop-slave1:/usr/local/
复制成功截图:
在这里插入图片描述
d. 切换到slave1终端
vi /usr/local/zookeeper-3.4.10/datadir/myid
在这里插入图片描述
然后把0改为1,保存,退出
e. 配置环境变量,与master时一样
f. slave2同理,与c.d.e.三点类似,myid为2

0x04 Zookeeper集群校验

1. 启动三个节点的zk

zkServer.sh start

2. 查看zk集群角色状态

zkServer.sh status
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可看到:
master与slave2角色为:follower
slave1角色为:leader

3. 杀死leader进程

a. 即杀死slave1上的zk进程,在slave1终端执行
jps
kill -9 429
在这里插入图片描述

4. 观察zk集群角色变化

a. 在master、slave2查看zk状态
zkServer.sh status
在这里插入图片描述
在这里插入图片描述
b. 发现master角色不变还是follower,而slave2则变成了leader,这就是Zookeeper的选举机制,选举有特定的算法
c. 在master、slave2执行关闭zk
zkServer.sh stop
d. 再重新启动zk集群(方便下面的教程学习)
zkServer.sh start
e. 查看角色状态(这次master为leader)
zkServer.sh status
在这里插入图片描述

0xFF 总结

  1. Zookeeper是一个分布式协调服务系统,在大数据领域的地位很重要,Kafka、HBase、HDFS的HA等均离不开zk
  2. Zookeeper有两个常用的应用场景,1.是对集群配置的管理2.集群分布式锁的实现
  3. 请自行了解Zookeeper的相关用法,或者留意本博客的相关教程。

作者简介:邵奈一

大学大数据讲师、大学市场洞察者、专栏编辑

公众号、微博、CSDN邵奈一

本系列课均为本人:邵奈一原创,如转载请标明出处

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值