zookeeper(3.4.12)集群模式安装【一篇就够】

一、下载安装包

http://www-eu.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz

二、解压

tar xzvf zookeeper-3.4.12.tar.gz

三、配置环境变量

vi /etc/profile

末尾追加:

# zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper-3.4.12
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

四、配置zoo.conf文件

[root@master conf]# cp zoo_sample.cfg zoo.cfg

创建目录 /usr/zookeeper-3.4.12/dataDir/usr/zookeeper-3.4.12/dataLogDir

配置后内容如下:

# 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.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/zookeeper-3.4.12/dataDir
dataLogDir=/usr/zookeeper-3.4.12/dataLogDir

# the port at which the clients will connect
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

# the maximum number of client connections.
# increase this if you need to handle more clients
maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
 

============ zookeeper配置文件说明 ============
在ZooKeeper的设计中,集群中所有机器上zoo.cfg文件的内容都应该是一致的。

tickTime: 服务器与客户端之间交互的基本时间单元(ms)
initLimit : 此配置表示允许follower连接并同步到leader的初始化时间,它以tickTime的倍数来表示。当超过设置倍数的tickTime时间,则连接失败。
syncLimit : Leader服务器与follower服务器之间信息同步允许的最大时间间隔,如果超过次间隔,默认follower服务器与leader服务器之间断开链接。
dataDir: 保存zookeeper数据路径
dataLogDir:保存zookeeper日志路径,当此配置不存在时默认路径与dataDir一致

clientPort(2181) : 客户端与zookeeper相互交互的端口

server.id=host:port:port
id代表这是第几号服务器
在服务器的data(dataDir参数所指定的目录)下创建一个文件名为myid的文件,
这个文件的内容只有一行,指定的是自身的id值。比如,服务器“1”应该在myid文件中写入“1”。
这个id必须在集群环境中服务器标识中是唯一的,且大小在1~255之间。
host代表服务器的IP地址
第一个端口号(2888)是follower服务器与集群中的“领导者”leader机器交换信息的端口
第二个端口号(3888)是当领导者失效后,用来执行选举leader时服务器相互通信的端口

maxClientCnxns : 限制连接到zookeeper服务器客户端的数量

=============================================

五、在master机器上,/usr/zookeeper-3.4.12/dataDir下创建myid文件

文件内容为 1

六、slave1、slave2机器上同样部署zookeeper

slave1机器上,dataDir目录下myid文件内容为 2

slave2机器上,dataDir目录下myid文件内容为 3

七、三台机器上分别启动zookeeper

[root@master usr]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@master usr]# jps
1264 NameNode
1619 ResourceManager
1462 SecondaryNameNode
2424 QuorumPeerMain
2442 Jps
[root@master usr]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

【解决方法】:关闭防火墙,重新启动zookeeper

[root@master version-2]# systemctl stop firewalld.service
[root@master version-2]# zkServer.sh restart
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@master version-2]#
zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower

[root@slave1 dataDir]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: leader

[root@slave2 dataDir]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower

完!!!

猜你喜欢

转载自blog.csdn.net/sjmz30071360/article/details/82153191
今日推荐