Linux Centos7下ZooKeeper集群安装详细步骤

1.下载zookeeper

wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
 
 
  • 1
  • 1

2.解压zookeeper-3.4.6.tar.gz并重命名为zookeeper

tar -zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper
 
 
  • 1
  • 2
  • 1
  • 2

3.创建保存zookeeper数据文件夹

mkdir -p /var/lib/zookeeperDatadir
 
 
  • 1
  • 1

4.修改zookeeper配置文件

cd zookeeper/conf
cp zoo.sample.cfg zoo.cfg
vi zoo.cfg

## 修改 
dataDir=/var/lib/zookeeperDatadir  

## 如果端口被占用 则修改
clientPort=2181  

## 增加以下配置
server.1 = 集群机器IP:2888:3111 
server.2 = 集群机器IP2:2888:3111 
server.3 = 集群机器IP3:2888:3111  
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

server.id=host:port:port解析 
每一行此配置表示一个集群中的一台服务器。其中id为Server ID,用来标识该机器在集群中的编号。同时,在所在服务器的数据目录(/var/lib/zookeeperDatadir)下创建一个myid文件,该文件只有一行内容,并且是一个数字,就是对应每台服务器的Server ID数字。

比如server.1=IP1:2888:3888的myid中的内容就是1。不同服务器的ID需要保持不同,并且和zoo.cfg文件中server.id中的id和myid文件的内容保持一致。id的取值范围为1~255。其中,server.id中配置参数的第一个port是集群中其他机器与Leader之间通信的端口,第二个port为当Leader宕机或其他故障时,集群进行重新选举Leader时使用的端口。

按照以上相同步骤,配置集群中的其他机器。每个集群的zoo.cfg文件都是相同的,可通过版本控制或其他工具保证每台zookeeper服务器的配置文件相同。集群中每台机器唯一不同的是server.id对应的myid文件中的数字不同。

5.复制zookeeper到另外两台参与集群的机器上

scp -r zookeeper路径 root@集群机器IP2:目的路径
scp -r zookeeper路径 root@集群机器IP3:目的路径
 
 
  • 1
  • 2
  • 1
  • 2

6.每台服务器上配置相应的myid文件

## zoo.cfg的dataDir目录
cd /var/lib/zookeeperDatadir 
## 自动生成myid文件
vi myid               
## 进入VI编辑模式,输入1,保存退出
1   

依次在每台机器上配置,server.2的myid文件中的值为2,依次类推。
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

7.启动和关闭zookeeper

cd zookeeper安装目录
## 启动zookeeper
bin/zkServer.sh start   
## 查看zookeeper状态
bin/zkServer.sh status  
## zookeeper客户端工具
bin/zkCli.sh          
## 关闭zookeeper   
bin/zkServer.sh stop  
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

8.在三个机器上依次单独执行命令挨个启动zookeeper.分别查看zookeeper状态,正常状态下:

[root@iz2zedcm7ep5qv4uo0tnrwz bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-2/bin/../conf/zoo.cfg
Mode: leader
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

         如果执行 ./zkServer.sh status报错(Error contacting service. It is probably not running)

          请关闭防火墙且禁止防火墙开机启动,然后重启虚拟机或机器即可。

9.需要注意的是一般zookeeper集群由3~5台服务器组成,即2n+1台机器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值