第四篇 : zookeeper 集群安装

一、解压包安装

1. 目的

在server1、server2 和 server3 三个节点上部署 Zookeeper。

2. 解压安装

1、解压Zookeeper安装包到/opt/module/目录下

[huanchu@server1 software]$ tar -zxvf zookeeper-3.4.13.tar.gz -C /opt/module/

3. 配置服务器编号

1、在/opt/module/zookeeper-3.4.13/这个目录下创建zkData

[huanchu@server1 zookeeper-3.4.13]$ mkdir -p zkData

2、在/opt/module/zookeeper-3.4.13/zkData目录下创建一个myid的文件

[huanchu@server1 zkData]$ touch myid

3、编辑myid文件

[huanchu@server1 zkData]$ vi myid

在文件中添加与server对应的编号 :

1

4. 拷贝配置好的zookeeper到其他机器上

[huanchu@server1 module]$ xsync zookeeper-3.4.13/

并分别在hadoop102、hadoop103上修改myid文件中内容为2、3

5. 配置 zoo.cfg 文件

1、重命名/opt/module/zookeeper-3.4.13/conf这个目录下的zoo_sample.cfg为zoo.cfg

mv zoo_sample.cfg zoo.cfg

2、打开zoo.cfg文件

[huanchu@server1 conf]$ vim zoo.cfg

修改数据存储路径配置

dataDir=/opt/module/zookeeper-3.4.13/zkData

增加如下配置

#######################cluster##########################
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888

3、同步zoo.cfg配置文件

[huanchu@server conf]$ xsync zoo.cfg

6. 集群操作

1、分别启动 Zookeeper

[huanchu@server1 zookeeper-3.4.13]$ bin/zkServer.sh start
[huanchu@server2 zookeeper-3.4.13]$ bin/zkServer.sh start
[huanchu@server3 zookeeper-3.4.13]$ bin/zkServer.sh start

2、查看状态

[huanchu@server1 zookeeper-3.4.13]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower
[huanchu@server2 zookeeper-3.4.13]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader
[huanchu@server3 zookeeper-3.4.13]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower

二、docker 镜像安装

因为一个一个地启动 ZK 太麻烦了, 所以为了方便起见, 我直接使用 docker-compose 来启动 ZK 集群。 

1、首先创建一个名为 docker-compose.yml 的文件, 其内容如下 :

version: '3.1'

services:
  zoo1:
    image: zookeeper
    restart: always
    hostname: zoo1
    ports:
      - 2181:2181
    environment:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888

  zoo2:
    image: zookeeper
    restart: always
    hostname: zoo2
    ports:
      - 2182:2181
    environment:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888

  zoo3:
    image: zookeeper
    restart: always
    hostname: zoo3
    ports:
      - 2183:2181
    environment:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888

2、接着我们在 docker-compose.yml 当前运行下面的命令启动集群

COMPOSE_PROJECT_NAME=zk_cluster docker-compose up

3、使用 docker-compose ps 命令可以查看启动的 ZK 容器

COMPOSE_PROJECT_NAME=zk_cluster docker-compose ps

4、使用 Docker 命令行客户端连接 ZK 集群

docker run -it --rm \
        --link zoo1:zk1 \
        --link zoo2:zk2 \
        --link zoo3:zk3 \
        --net zktest_default \
        zookeeper zkCli.sh -server zk1:2181,zk2:2181,zk3:2181

5、通过本地主机连接 ZK 集群

zkCli.sh -server localhost:2181,localhost:2182,localhost:2183

6、查看集群

我们可以通过 nc 命令连接到指定的 ZK 服务器, 然后发送 stat 可以查看 ZK 服务的状态, 例如:

huanchu-mbp:Software huanchu$ echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Clients:
 /172.19.0.1:51080[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: follower
Node count: 4
huanchu-mbp:Software huanchu$ echo stat | nc 127.0.0.1 2182
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Clients:
 /172.19.0.1:52416[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
huanchu-mbp:Software huanchu$ echo stat | nc 127.0.0.1 2183
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Clients:
 /172.19.0.1:49558[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: leader
Node count: 4
Proposal sizes last/min/max: -1/-1/-1
huanchu-mbp:Software huanchu$ 

通过上面的输出, 我们可以看到, zoo1, zoo2 都是 follower, 而 zoo3 是 leader, 因此证明了 ZK 集群确实是搭建起来了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值