简单五步搭建Zookeeper集群(Linux)

准备工作:

已装好单机 zookeeper的三台机器:

192.168.0.164,192.168.0.166,192.168.0.184

Zookeeper 的集群搭建很简单,只要在配置好的单机zookeeper基础上修改两个地方即可,

一个是配置文件zoo.cfg,另一个是创建myid文件。集群示图如下:

 

详细步骤如下:(以server 2 为例,ip :192.168.0.166 , myid :2)

1. 关闭zookeeper(如果zookeeper在运行,没有跳到第二步)

   查看zookeeper进程:

   ps -ef | grep zookeeper

进程id为3085,杀死该进程:

Kill -s 9  3085  

或者 在zookeeper安装包的bin目录下:

sh zkServer.sh stop

查看确认zookeeper已关闭:

ps -ef | grep zookeeper

 

2. 修改配置文件

修改conf目录下zoo.cfg文件

dataDir : 数据文件目录

dataLogDir : 日志打印文件目录

clientPort = 2181 供客户端注册发现服务用

2888:集群中zookeeper之间通信用

3888:选举lead时用

配置zookeeper集群,三台机器:

server.1 = 192.168.0.164:2888:3888

server.2 = 192.168.0.166:2888:3888

server.3 = 192.168.0.184:2888:3888

  (为了避免混乱,server根据ip从小到大按顺序排列)

3. 创建myid

 在zookeeper安装目录下,进入data文件夹中,创建myid文件(没有后缀):

vi myid

Esc  +:+ wq

保存退出myid文件

(PS:如果三台虚拟机只有一台装了zookeeper,可以配置好后通过远程拷贝到其他两台:
scp  -r /usr/local/zookeeper-3.5.4-beta 192.168.0.184:/usr/local

scp  -r /usr/local/zookeeper-3.5.4-beta 192.168.0.164:/usr/local

三台机器zoo.cfg都一样,只要修改对应的myid值即可。

Zookeeper是java写的,需要运行在java环境之上,需装jdk)

即:

Ip 192.168.0.164 机器为server 1  对应的myid 为 1

IP 192.168.0.166 机器为server 2  对应的myid 为 2

IP 192.168.0.184 机器为server 3  对应的myid 为 3

4. 启动zookeeper

 分别进入到三台机器zookeeper安装目录bin中,通过命令:

sh zkServer.sh start

启动zookeeper

OK,确保三台机器zookeeper都能启动成功。之后,zookeeper集群会选出一个leader,其余为follower。

5. 查看状态

 同样,在安装目录bin下, 通过命令

sh zkServer.sh status

查看集群状态

即 166和184 为follower ,164为leader,表示集群搭建成功。

注意的坑:

若单台zookeeper都能启动成功,而没有通信成功,没有leader和follower,则可能是端口的原因:

a. 端口是否被占用

b. 防火墙是否放行

c. 更多问题可以通过日志文件查看

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章