Zookeeper实战-集群环境搭建

Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它是Google的Chubby一个开源的实现,主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
Zookeeper被大量用于分布式系统中,如Hadoop、Storm以及Kafka系统。
本文简要记录Linux环境下Zookeeper集群环境的搭建过程,供大家参考。

准备工作

  • 三台CentOS server,它们的IP地址分别为172.18.19.206,172.18.19.207和172.18.19.208
  • Zookeeper 3.4.8

安装Zookeeper

安装Zookeeper之前需要先装jdk,本文假设你已经安装了jdk并配置好环境变量。
1.下载Zookeeper
点此下载最新稳定版本Zookeeper,本人下载安装时Zookeeper最新稳定版本为 3.4.8。
2.解压缩

[root@w206-ops-docker1 Zookeeper]# tar -zxvf zookeeper-3.4.8.tar.gz

配置

1.创建zoo.cfg
Zookeeper 的配置文件在 conf 目录下,你只需将zoo_sample.cfg拷贝一份命名为zoo.cfg,然后按需修改其中配置即可,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。

[root@w206-ops-docker1 zookeeper-3.4.8]# cp conf/zoo_sample.cfg conf/zoo.cfg

zoo.cfg完整配置如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/Hadoop/Zookeeper/zookeeper-3.4.8/data
# the port at which the clients will connect
clientPort=2181
# server config
server.1=172.18.19.206:2888:3888
server.2=172.18.19.207:2888:3888
server.3=172.18.19.208:2888:3888

参数含义如下:

  • tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime
    时间就会发送一个心跳。
  • dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  • clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  • initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper
    服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower
    服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper
    服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
  • syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个
    tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
  • server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C
    表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader
    服务器挂了,需要一个端口来重新进行选举,选出一个新的
    Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper
    实例通信端口号不能一样,所以要给它们分配不同的端口号。

2.创建myid文件
除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下。

创建Zookeeper数据目录,如下:

[root@w206-ops-docker1 zookeeper-3.4.8]# mkdir data
[root@w206-ops-docker1 zookeeper-3.4.8]# cd data

创建myid文件,内容为1,注意 这个值随server而改变(保持唯一)

[root@w206-ops-docker1 data]# vi myid

至此,本机上Zookeeper已安装&配置完毕。接下来我们只需将172.18.19.206机器上已经配置好的/home/Hadoop/Zookeeper/zookeeper-3.4.8目录分别scp至172.18.19.207和172.18.19.208机器上的相应目录,然后将其上的zookeeper-3.4.8/data/myid的内容修改为2和3。

启动Zookeeper

下面启动ZooKeeper服务进程:

[root@w206-ops-docker1 Zookeeper]# cd zookeeper-3.4.8
[root@w206-ops-docker1 zookeeper-3.4.8]# bin/zkServer.sh start
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值