3.Zookeeper 3.5.7 安装

2020-08-14  本文已影响0人  Rex_2013

1.集群规划

node06 node07 node08
Zookeeper Zookeeper Zookeeper

2.解压安装

[root@node06 03_zookeeper]# tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
[root@node06 module]# mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
[root@node06 module]#  xsync zookeeper-3.5.7/

3.配置服务器编号

[root@node06 zookeeper-3.5.7]# mkdir zkData
[root@node06 zkData]# vim myid
1
[root@node06 zkData]# xsync myid 

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

[root@node06 conf]# mv zoo_sample.cfg zoo.cfg

(2)修改zoo.cfg文件

[root@node06 conf]# vim zoo.cfg

修改数据存储路径配置

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

增加如下配置

#######################cluster##########################
server.1=node06:2888:3888
server.2=node07:2888:3888
server.3=node08:2888:3888

c. 同步zoo.cfg配置文件

[root@node06 conf]# xsync zoo.cfg

d. 配置参数解读

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

[root@node06 zookeeper-3.5.7]# bin/zkServer.sh start
[root@node07 zookeeper-3.5.7]# bin/zkServer.sh start
[root@node08 zookeeper-3.5.7]# bin/zkServer.sh start

b. 查看状态

[root@node06 zookeeper-3.5.7]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

[root@node07 zookeeper-3.5.7]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader

[root@node08 zookeeper-3.5.7]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

c. 启动客户端

[root@node08 zookeeper-3.5.7]#  bin/zkCli.sh

4. ZK集群启动停止脚本

[root@node09 bin]# vim zk.sh

在脚本中编写如下内容

#!/bin/bash

case $1 in
"start"){
    for i in node06 node07 node08
    do
        echo "------------- $i -------------"
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
    done
};;
"stop"){
    for i in node06 node07 node08
    do
        echo "------------- $i -------------"
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
    done
};;
"status"){
    for i in node06 node07 node08
    do
        echo "------------- $i -------------"
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
    done
};;
esac
[root@node09 bin]# chmod 777 zk.sh
[root@node09 bin]# zk.sh stop
[root@node09 bin]# zk.sh start
[root@node09 bin]# zk.sh status
上一篇下一篇

猜你喜欢

热点阅读