大数据3_01_zookeeper安装部署

2 Zookeeper安装

(1)安装部署

步骤1:解压到/opt/module下

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module
# 为了方便可以改个名
mv apache-zookeeper-3.5.7-bin.tar.gz zookeeper

步骤2:配置环境变量

sudo vim /etc/profile.d/my_env.sh
# 增加如下内容:
export ZOOKEEPER_HOME=/opt/module/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

步骤3:让环境变量生效

source /etc/profile.d/my_env.sh
# 或者重新连接这个ssh窗口

步骤4:配置zookeeper的环境变量

cd /opt/module/zookeeper/conf
# 复制zoo.sample.cfg为zoo.cfg,因为sample只是一个样例
cp zoo.sample.cfg zoo.cfg

# 修改zoo.cfg文件
vim zoo.cfg

修改内容

# 修改zookeeper存储快照的目录
dataDir=/opt/module/zookeeper/zkData
# 添加节点信息
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

配置参数解释:server.A=B:C:D

  • A是一个数字,表示这是第几台服务器

    集群模式下配置dataDir=/opt/module/zookeeper/zkData下一个文件myid,里面填写A的值。Zookeeper启动时读取myid文件,拿到里面的A与zoo.cfg内的配置信息对比从而判断谁是server。

  • B是服务器地址

  • C是Follower与集群中Leader服务器交换信息的端口

  • D是万一集群中Leader服务器挂掉,需要一个重新选举Leader的端口。D就是用来执行选举Leader,服务器相互通信的端口。

步骤5:创建dataDie的文件夹

touch /opt/module/zookeeper/zkData

步骤6:在此文件夹内创建myid文件,表明自己是谁

[atguigu@hadoop102 zkData]$ vim myid
# 在里面填写
2

步骤7:分发zookeeper到其他节点

xsync /opt/module/zookeeper

步骤8:分发环境变量到其他节点

sudo xsync /etc/profile.d/my_env.sh

步骤9:让其他节点的环境变量生效

source /etc/profile.d/my_env.sh
# 或者重新开启ssh窗口

步骤10:修改其他节点的dataDir中的myid

[atguigu@hadoop103 ~]$ echo 3 > /opt/module/zookeeper/zkData/myid
[atguigu@hadoop104 ~]$ echo 4 > /opt/module/zookeeper/zkData/myid

步骤11:启动zookeeper

[atguigu@hadoop102 ~]$ zkServer.sh start

image-20201018135300964

开启后可以看到STARTED表示zookeeper服务已开启。

可以看到zookeeper的主进程为QuorumPeerMain

查看zookeeper状态

[atguigu@hadoop102 ~]$ zkServer.sh status

image-20201018135520880

仅开启一台服务器zookeeper服务,不能正常运行。

开启两台zookeeper服务器才能显示状态。

image-20201018135734346

image-20201018135802374

关闭zookeeper

[atguigu@hadoop103 ~]$ zkServer.sh stop

步骤12:群起zookeeper服务

zookeeper不提供群起服务,需要自己写shell脚本

vim /zkS.sh
#!/bin/bash

if (($#==0))
then
    exit 1;
fi
for i in hadoop102 hadoop103 hadoop104
do
    echo "=====================  Starting zk in $i  ======================="
    ssh $i "zkServer.sh $1" 2> /dev/null
done

将该脚本放到/bin目录下

sudo cp zkS.sh /bin
# 增加可执行权限
sudo chmod +x zkS.sh

群起zookeeper服务

zkS.sh start

image-20201018140344975

查看集群状态

image-20201018140419040

关闭集群

image-20201018140455572

(2)zookeeper配置参数

# 通信心跳数2秒,zookeeper服务器与客户端心跳时间,单位毫秒。
tickTime=2000
# 10个通信心跳,20秒,集群中Leader服务器和Follower服务器初始连接能容忍的最大心跳数。
initLimit=10
# 5个通信心跳,10秒,集群中Leader和Follower之间最大响应时间,超过10秒,Leader认为Follower死掉,从而在服务器列表中删除该Follower
syncLimit=5
# 数据文件目录+数据持久化路径,用于保存Zookeeper中的数据
dataDir=/opt/module/zookeeper/zkData
# 监听客户端连接的端口
clientPort=2181
# 集群中的服务器列表,与myid相对应
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最佳第六六六人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值