Zookeeper 安装

ZooKeeper 单机安装步骤

下载安装包,解压缩。

下载zookeeper-3.4.6.tar.gz安装包,将其复制到/opt目录下,然后解压缩:

[root@localhost app-package]# ll zookeeper-3.4.6.tar.gz
-rw-r--r--. 1 root root 17699306 8月   1 15:09 zookeeper-3.4.6.tar.gz
[root@localhost opt]# tar zxf zookeeper-3.4.6.tar.gz
# 解压之后当前 /opt 目录下生成一个名为 zookeeper-3.4.6 的文件夹
[root@localhost opt]# cd zookeeper-3.4.6
[root@localhost zookeeper-3.4.12]# pwd
/opt/zookeeper-3.4.6

配置环境变量

/etc/profile配置文件中添加如下内容,并执行source /etc/profile命令使配置生效:

export ZOOKEEPER_HOME=/opt/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin

修改 Zookeeper 配置文件

修改 ZooKeeper 的配置文件。首先进入$ZOOKEEPER_HOME/conf目录,并将zoo_sample.cfg文件修改为zoo.cfg

[root@localhost zookeeper-3.4.6]# cd conf
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg

然后修改zoo.cfg配置文件,zoo.cfg文件的内容参考如下:

# Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳,单位为 ms.
tickTime=2000
# 投票选举新 leader 的初始化时间
# 此配置表示,允许 follower 连接并同步到 leader 的初始化连接时间,它以 tickTime 的倍数来表示,默认为10。
# 当超过设置倍数的 tickTime 时间,则连接失败。如果在设定的时间段内,半数以上的跟随者未能完成同步,领导者
# 便会宣布放弃领导地位,进行另一次的领导选举。如果 zk 集群环境数量确实很大,同步数据的时间会变长,因此
# 这种情况下可以适当调大该参数。
initLimit=10
# leader 与 follower 心跳检测最大容忍时间,也就是每次发送心跳的最大响应时间超过 syncLimit * tickTime,leader 认为
# follower “死掉”,从服务器列表中删除 follower,所有关联到这个 follower 的客户端将连接到另外一个 follower。
syncLimit=5
# 数据目录
dataDir=/tmp/zookeeper/data
# 日志目录
dataLogDir=/tmp/zookeeper/log
# ZooKeeper 对外服务端口
clientPort=2181

默认情况下,Linux 系统中没有/tmp/zookeeper/data/tmp/zookeeper/log这两个目录,所以接下来还要创建这两个目录:

[root@localhost conf]# mkdir -p /tmp/zookeeper/data
[root@localhost conf]# mkdir -p /tmp/zookeeper/log

设置 Zookeeper 服务编号

${dataDir}目录(也就是/tmp/zookeeper/data)下创建一个myid文件,并写入一个数值,比如 0。myid 文件里存放的是服务器的编号。

启动 Zookeeper 服务

启动 Zookeeper 服务,详情如下:

[root@localhost conf]# zkServer.sh start
JMX enabled by default
Using config: /opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

可以通过zkServer.sh status命令查看 Zookeeper 服务状态,示例如下:

[root@localhost ]# zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: Standalone

ZooKeeper 集群安装

以上是关于 ZooKeeper 单机模式的安装与配置,一般在生产环境中使用的都是集群模式,集群模式的配置也比较简单,相比单机模式而言只需要修改一些配置即可。下面以 3 台机器为例来配置一个 ZooKeeper 集群。首先在这 3 台机器的/etc/hosts文件中添加 3 台集群的 IP 地址与机器域名的映射,示例如下(3 个 IP 地址分别对应 3 台机器;不配置域名和 IP 地址映射直接使用 IP 地址也可以):

192.168.0.2 node1
192.168.0.3 node2
192.168.0.4 node3

然后在这 3 台机器的zoo.cfg文件中添加以下配置:

server.0=node1:2888:3888
server.1=node2:2888:3888
server.2=node3:2888:3888

为了便于讲解上面的配置,这里抽象出一个公式,即server.A=B:C:D。其中 A 是一个数字,代表服务器的编号,就是前面所说的 myid 文件里面的值。集群中每台服务器的编号都必须唯一,所以要保证每台服务器中的 myid 文件中的值不同。B 代表服务器的 IP 地址。C 表示服务器与集群中的 leader 服务器交换信息的端口。D 表示选举时服务器相互通信的端口。如此,集群模式的配置就告一段落,可以在这 3 台机器上各自执行zkServer.sh start命令来启动服务。

posted @ 2018-08-18 23:17  我们都是小白鼠  阅读(255)  评论(0编辑  收藏  举报