码迷,mamicode.com
首页 > 其他好文 > 详细

Zookeeper集群

时间:2020-10-13 17:42:43      阅读:23      评论:0      收藏:0      [点我收藏+]

标签:centos   它的   格式   选择   方便   not   奇数   火墙   init   

1、机器列表及相关设计

服务器编号 服务器IP地址 LF通信端口 LF选举端口 客户端端口
1 192.168.229.131 2010 6008 2180
2 192.168.229.134 2010 6008 2180
3 192.168.229.133 2010 6008 2180

 

 

 

 

 

  

由于是在三台不同的服务器上搭建的集群,为了操作方便,所以每台机器上创建的文件夹都是相同路径,相同名称的 

 

2、将zookeeper-3.4.14.tar.gz分别上传到三台服务器上,每台服务器上分别使用命令解压得zookeeper-3.4.14文件夹

// 解压zookeeper的压缩包
tar -zxvf zookeeper-3.4.14.tar.gz

技术图片

 

3、分别在三台服务器的zookeeper-3.4.14文件夹下,新建文件夹 mylog、mydata,用于存放zookeeper的日志和数据

技术图片

 

4、进入zookeeper-3.4.14下的conf文件夹下,复制zoo_sample.cfg并且命名为zoo.cfg

技术图片

 

5、编辑zoo.cfg(由于我们这里不是伪集群,是在三台不同的服务器上进行的集群,所以三台机器的配置文件是一样的)

# tickTime:客户端与服务器、服务器与服务器之间维持心跳的时间间隔,也就是每一个tickTime会发送一次心跳,单位为毫秒
tickTime=2000
# initLimit:集群中Leader和Follow初始化连接时最多能容忍的心跳数
# 也就是初始化过程中,如果Leader和Follow在 (10*tickTime)ms的时间内还没有连接上,则认为连接失败
initLimit=10
# 自定义的zookeeper数据存放目录
dataDir=/usr/local/zookeeper/zookeeper-3.4.14/mydata
# 自定义的zookeeper的日志存放目录
dataLogDir=/usr/local/zookeeper/zookeeper-3.4.14/mylog
# 客户端连接的端口
clientPort=2180
# Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务
# Zookeeper集群配置项的格式比较特殊,具体规则如下: server:N=YYYY:A:B
# N:表示服务器编号,例如 0、1、2......
# YYYY:表示服务器的IP地址.
# A:为LF的通信端口,表示该服务器与集群中的Leader交换信息的端口
# B:为选举端口,表示选举新Leader时,服务器之间相互通信的端口(当Leader挂掉时,其它的服务器会相互通信,选择出新的Leader)
# 一般来说,集群中的A和B都是一样的,只有伪集群的时候A和B才不一样
server.1=192.168.229.131:2010:6008
server.2=192.168.229.134:2010:6008
server.3=192.168.229.133:2010:6008

  

6、在zookeeper-3.4.14的mydata文件下下面新建myid文件,并编辑myid文件,并且在里面写入对应的server的数字

// 进入mydata目录下
cd /usr/local/zookeeper/zookeeper-3.4.14/mydata
// 新建文件myid
touch myid

  

7、分别查看三台机器的防火墙是否关闭,如果未关闭,请先关闭防火墙

// 查看防火墙状态
[root@CentOS002 bin]# sudo service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
// 关闭防火墙
[root@CentOS002 bin]# sudo service iptables stop
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
// 再次查看防火墙状态,发现防火墙已经关闭了
[root@CentOS002 bin]# sudo service iptables status
iptables:未运行防火墙。

  

8、同时启动三台服务器上的zookeeper服务,并且三台服务器的角色信息如下

技术图片

技术图片

技术图片

  启动服务的时候需要注意,一定要等全部启动完成之后再去查看状态,可能稍微有一点点延迟,如果启动一台或者两台使用 ./zkServer.sh status去查看状态的话,会有 Error conftacting service,It is probably not running的报错信息,如果不能正常启动,去zookeeper.out文件中查看不能启动的原因.

 

9、连接客户端,由于集群之后连接客户端的命令不再是 ./zkCli.sh了

// 连接zookeeper客户端,端口我在zoo.cfg中修改成了2180
./zkCli.sh -server 192.168.229.131:2180

  

10、测试

  在131这台机器上创建一个节点 /xiaomaomao

技术图片

  在134这台机器上查看,看节点以及数据是否已经同步了,如果节点和数据能够正常同步,那么zookeeper集群搭建就完成了

技术图片

 

 

 

Zookeeper集群

标签:centos   它的   格式   选择   方便   not   奇数   火墙   init   

原文地址:https://www.cnblogs.com/xiaomaomao/p/13800523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!