欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【zookeeper】zookeeper集群的搭建

程序员文章站 2022-07-14 11:46:21
...

搭建环境

  • ubuntu14:192.168.1.48、192.168.1.49、192.168.1.50

  • jdk1.8

  • zookeeper-3.4.11.tar

zookeeper集群搭建

1、介绍

Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务、名字服务、分布式同步、组服务等。

它有如下的一些特点:

  • 简单:Zookeeper的核心是一个精简的文件系统,它支持一些简单的操作和一些抽象操作,例如,排序和通知。

  • 丰富:Zookeeper的原语操作是很丰富的,可实现一些协调数据结构和协议。例如,分布式队列、分布式锁和一组同级别节点中的“领导者选举”。

  • 高可靠:Zookeeper支持集群模式,可以很容易的解决单点故障问题。

  • 松耦合交互:不同进程间的交互不需要了解彼此,甚至可以不必同时存在,某进程在zookeeper中留下消息后,该进程结束后其它进程还可以读这条消息。

  • 资源库:Zookeeper实现了一个关于通用协调模式的开源共享存储库,能使开发者免于编写这类通用协议。

参考链接:https://www.cnblogs.com/leocook/p/zk_0.html

2、下载

https://www.apache.org/dyn/closer.cgi/zookeeper/

3、安装

安装只需要解压即可,解压到ubuntu机器的/usr/server路径下

tar -zxvf zookeeper-3.4.11.tar.gz /usr/server

4、配置修改

端口说明:

  • 2181是客户端访问zookeeper需要经过的端口

  • 2888是zookeeper集群内机器交互访问的端口

  • 3888是leader选举需要的端口

# 将zk目录下conf文件夹中的zoo_sample.cfg重命名为zoo.cfg

cd conf
mv zoo_sample.cfg zoo.cfg

# 修改zoo.cfg

sudo vim zoo.cfg    #编辑

dataDir=/usr/server/zookeeper-3.4.11/data

clientPort=2181

server.1=192.168.1.48:2888:3888
server.2=192.168.1.49:2888:3888
server.3=192.168.1.50:2888:3888


esc-->shift+:-->wq-->enter    #保存

# 在zk目录下

mkdir data
cd data
touch myid    #创建myid文件
sudo vim myid
三台分别写入1、2、3,分别对应server.1、server.2、server.3

5、配置说明

# 客户端与服务端通信的心跳间隔时间,单位是毫秒
tickTime=2000

# 集群中的follower与leader之间初始连接时能容忍的最多心跳数(tickTime的数量)
initLimit=10

# 集群中的follower与leader之间请求和应答之间能容忍的最多心跳数(tickTime的数量)
syncLimit=5


dataDir=/usr/server/zookeeper-3.4.11/data

clientPort=2181

# 接到 ZooKeeper 的客户端的数量的最大值
#maxClientCnxns=60

# 自动清理snapshot和事务日志的功能
#autopurge.snapRetainCount=3    #需要保留的文件数目。默认是保留3个

#autopurge.purgeInterval=1    #清理频率,单位是小时

# 会话超时的最小时间与最大时间,默认是2倍的tickTime和20倍的tickTime
minSessionTimeout=180000
maxSessionTimeout=180000

server.1=120.133.17.168:2888:3888
server.2=120.133.17.169:2888:3888
server.3=120.133.17.170:2888:3888

6、启动

cd /usr/server/zookeeper-3.4.11/bin

./zkServer.sh start    #启动命令

7、验证启动是否成功

cd /usr/server/zookeeper-3.4.11/bin

./zkServer.sh status   # 显示follower或leader即启动成功,顺便可查看该server的角色

8、如需关闭zookeeper服务

cd /usr/server/zookeeper-3.4.11/bin
./zkServer.sh stop

9、登录zookeeper客户端

cd /usr/server/zookeeper-3.4.11/bin
./zkCli.sh