CentOS7下zookeeper3.5.5 集群部署

准备好3台CentOS7
192.168.100.160
192.168.100.161
192.168.100.162

并且开放 2888 和 3888 端口,或者关闭防火墙

firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --reload

一、安装jdk1.8

# rpm -ivh jdk-8u212-linux-x64.rpm

# vi /etc/profile.d/java.sh  内容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

# source /etc/profile

# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

二、安装zookeeper

在3台服务器上执行下面相同的操作:

从 http://zookeeper.apache.org/ 下载 apache-zookeeper-3.5.5-bin.tar.gz 

# tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz

# mv apache-zookeeper-3.5.5-bin zookeeper-3.5.5

# cd zookeeper-3.5.5/bin/

# vi ../conf/zoo.cfg   内容如下

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
server.1=192.168.100.160:2888:3888
server.2=192.168.100.161:2888:3888
server.3=192.168.100.162:2888:3888

# mkdir -p /data/zookeeper/data

# mkdir -p /data/zookeeper/logs

在 192.168.100.160  vi  /data/zookeeper/data/myid   内容为 1
在 192.168.100.161  vi  /data/zookeeper/data/myid   内容为 2
在 192.168.100.162  vi  /data/zookeeper/data/myid   内容为 3

2.1 配置说明

zookeeper服务器集群中的每台服务器都有一个唯一的ID,取值在1~255之间。通过在 dataDir目录下的myid 文件中指定
每台服务器必须添加这样的配置    server.n=hostname:port1:port2 
n是服务器的ID,port1 是跟随者连接领导者的端口,port2是用于选举领导者
集群模式下还有2个参数 initLimit和syncLimit
initLimit 是跟随者与领导者进行连接和同步的时间范围,如果设定的时间范围内半数以上的跟随者未完成同步,则领导者会放弃自己的领导地位,进行一次领导选取。如果频繁发生领导选取,则可能该参数的值太小了。
syncLimit 跟随者与领导者同步的时间。如果设定的时间内,跟随者未能完成同步,会自己重启。所有关联到该跟随者的客户端将连接到另外一个跟随者。

三、启动zookeeper

在3台服务器的zookeeper的bin目录运行

[root@localhost bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/soft/zookeeper-3.5.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

在3台查看服务器状态,可以分别看到有1个leader,2个follower

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

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

用客户端命令zkCli.sh操作zookeeper:
# ./zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] create /zoo hello
Created /zoo
[zk: localhost:2181(CONNECTED) 2] ls /
[zoo, zookeeper]

再在其他服务器上使用zkCli.sh同样也可以查看到刚刚对znode的操作数据。

停止zookeeper服务
[root@localhost bin]# ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /data/soft/zookeeper-3.5.5/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

本文内容到此结束,更多内容可关注公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值