【3】配置参数解读及搭建伪集群

一、配置参数解读

zookeeper配置文件的参数解读:


tickTime=2000  #通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒initLimit=10  #Leader和Follower初始化通信时限,Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)即多少个通信心跳时间syncLimit=5  #Leader和Follower之间通信时间,即多少个通信心跳时间dataDir=/opt/zookeeper/zookeeper-3.5.7/zkData  #保存zookeeper中的数据,默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认的tmp目录。clientPort=2181 #客户端连接端口号,通常不做修改。

二、搭建伪集群

1.创建文件夹

在zookeeper解压后的同级目录下新建文件夹,如图

#创建三个文件夹,代表三个服务器
mkdir -p server1 server2 server3 #为 3 个节点创建各自的目录
# 数据目录
mkdir -p data/zk1 data/zk2 data/zk3
# 日志目录
mkdir -p logs/zk1 logs/zk2 logs/zk3

每个节点创建 myid 文件并分别填写1、2、3

cd data/zk1
vim myid
# 按i,进入输入模式,输入文本“1”,按esc退出输入模式,按:然后wq保存并退出
cd ../../

最后的效果是

2.编辑配置文件

进入配置文件zoo.cfg,编辑配置文件

vim zoo.cfg

修改数据目录选项和日志目录选项,并增加配置信息

# 数据目录选项
dataDir=/king/zk/data/zk1
# 日志目录选项
dataLogDir=/king/zk/logs/zk1# 集群中的所有节点信息,每个节点都需要知道整个集群是由哪些节点组成的
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

这个配置意思是:格式是server.A=B:C:D。 A 是一个数字,表示这个是第几号服务器;集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比 较从而判断到底是哪个 server。 B 是这个服务器的地址; C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口; D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

完整的配置信息为:


tickTime=2000initLimit=10syncLimit=5dataDir=/opt/zookeeper/data/zk1
dataLogDir=/opt/zookeeper/logs/zk1clientPort=2181
admin.serverPort=6391server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

将编辑好的zookeeper复制到对应的server文件夹下

cp -r zookeeper363/ server1/
cp -r zookeeper363/ server2/
cp -r zookeeper363/ server3/

修改server2和3的zoo.cfg文件,修改如下:

server2:

# 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=/opt/zookeeper/data/zk2
dataLogDir=/opt/zookeeper/logs/zk2
# the port at which the clients will connect
clientPort=2182
# 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
# admin.serverPort 默认占8080端口admin.serverPort=6392#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

server3:

# 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=/opt/zookeeper/data/zk3
dataLogDir=/opt/zookeeper/logs/zk3
# the port at which the clients will connect
clientPort=2183
# 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
# admin.serverPort 默认占8080端口admin.serverPort=6393#autopurge.purgeInterval=1
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

三、启动集群

server1/zookeeper363/bin/zkServer.sh start
server2/zookeeper363/bin/zkServer.sh start
server3/zookeeper363/bin/zkServer.sh start

在只启动一个的情况下查看zookeeper状态,会出现以下报错:

[root@VM-16-8-centos zookeeper]# server1/zookeeper-3.5.7/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/server1/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

这是因为我们再上面配置了三台服务器,这个时候只有一台,少于一半所以会报错。

查看服务状态:

server1/zookeeper363/bin/zkServer.sh status
server2/zookeeper363/bin/zkServer.sh status
server3/zookeeper363/bin/zkServer.sh status

查看zookeeper进程:ps -ef | grep zookeeper

使用zkCli连接zookeeper服务:

server1/zookeeper363/bin/zkCli.sh -server 127.0.0.1:2181

连接成功


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部