zookeeper单主机三节点的安装配置

环境介绍

系统版本:

[root@zookeeper ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core

zookeeper版本:

echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT

安装zookeeper

下载zookeeper

https://zookeeper.apache.org/releases.html#download

解压压缩包

tar zxf zookeeper-3.4.14.tar.gz

mv zookeeper-3.4.14 /usr/local/zookeeper-1

因为启动文件默认启动的conf文件为zoo.cfg,所以切换到zookeeper目录,更改文件

cd /usr/local/zookeeper-1
mv conf/zoo_sample.cfg conf/zoo.cfg

然后修改zoo配置文件
[root@ZB-Mysql-Master ~]# cat /usr/local/zookeeper-1/conf/zoo.cfg | grep -v ^#
tickTime=2000
#ZooKeeper服务器之间或客户单与服务器之间维持心跳的时间间隔,单位是毫秒,默认为2000。
initLimit=10
#zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。
#当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 102000=20秒。
syncLimit=5
#标识ZooKeeper的leader和follower之间同步消息,请求和应答时间长度,最长不超过多少个tickTime的时间长度,总的时间长度就是5
2000=10秒。
dataDir=/data/zookeeper-1/data
#存储内存数据库快照的位置;ZooKeeper保存Client的数据都是在内存中的,如果ZooKeeper节点故障或者服务停止,那么ZooKeeper就会将数据快照到该目录当中。
dataLogDir=/data/zookeeper-1/logs
#如果没提供的话使用的则是dataDir。zookeeper的持久化都存储在这两个目录里。dataLogDir里是放到的顺序日志(WAL)。而dataDir里放的是内存数据结构的snapshot,便于快速恢复。
为了达到性能最大化,一般建议把dataDir和dataLogDir分到不同的磁盘上,这样就可以充分利用磁盘顺序写的特性,这里我是就一块磁盘,顾不做分离
#Zookeeper储存log的位置
clientPort=2181
#ZooKeeper客户端连接ZooKeeper服务器的端口,监听端口
maxClientCnxns=60
#ZooKeeper可接受客户端连接的最大数量,默认为60
autopurge.snapRetainCount=3
#ZooKeeper要保留dataDir中快照的数量
autopurge.purgeInterval=1
#ZooKeeper清楚任务间隔(以小时为单位),设置为0表示禁用自动清除功能
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
#指定ZooKeeper集群主机地址及通信端口#1 为集群主机的数字标识,一般从1开始,三台ZooKeeper集群一般都为123#localhost 为集群主机的IP地址或者可解析主机名
#2888 端口用来集群成员的信息交换端口,用于ZooKeeper集群节点与leader进行信息同步#3888 端口是在leader挂掉时或者刚启动ZK集群时专门用来进行选举leader所用的端口

然后copy此目录

cp -af /usr/local/zookeeper-1 /usr/local/zookeeper-2
cp -af /usr/local/zookeeper-1 /usr/local/zookeeper-3

更改其他两个节点的目录

cat /usr/local/zookeeper-2/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper-2/data
dataLogDir=/data/zookeeper-2/logs
clientPort=2182
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889

cat /usr/local/zookeeper-3/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper-3/data
dataLogDir=/data/zookeeper-3/logs
clientPort=2183
maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889

创建zookeeper的myid文件,这个文件一定要在dataDir目录下

按照配置文件里写的集群主机的数字标识把对应的主机标识数字写进myid文件里

·echo 1 > /data/zookeeper-1/data/myid
·echo 2 > /data/zookeeper-2/data/myid
·echo 3 > /data/zookeeper-3/data/myid

写进去之后就可以启动zookeeper了

/usr/local/zookeeper-1/bin/zkServer.sh start
/usr/local/zookeeper-2/bin/zkServer.sh start
/usr/local/zookeeper-3/bin/zkServer.sh start

查看zookeeper状态
[root@zookeeper ~]# /usr/local/zookeeper-1/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-1/bin/…/conf/zoo.cfg
Mode: follower
[root@zookeeper ~]#/usr/local/zookeeper-2/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-2/bin/…/conf/zoo.cfg
Mode: leader
[root@zookeeper ~]# /usr/local/zookeeper-3/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3/bin/…/conf/zoo.cfg
Mode: follower

如果可以看到leader和follower就表示集群创建成功了,如果显示standalone,就表示还是单一的节点,那么就可以检查一下是不是端口被占用或者myid文件不正确。

如有错误还烦请各位大牛多多指正,谢谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值