目录

目标

简介

配置ZooKeeper集群

环境准备

配置步骤

启动&关闭ZooKeeper集群


目标

  1. 了解ZooKeeper基本信息;
  2. 熟悉配置ZooKeeper集群。

简介

ZooKeeper是用于维护配置信息,命名,提供分布式同步以及提供组服务的集中式服务。ZooKeeper旨在将这些不同服务的本质提炼成一个非常简单的界面,以实现集中式协调服务。


配置ZooKeeper集群

环境准备

三台Linux虚拟机,且都具备JDK环境。

配置步骤

第一步到ZooKeeper官网​​​​​​​下载Linux版本的ZooKeeper安装包(本文以apache-zookeeper-3.6.2-bin.tar.gz版本为例。);

第二步:上传apache-zookeeper-3.6.2-bin.tar.gz到/opt目录(略);

第三步:解压该文件:

tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz

第四步:在/opt/apache-zookeeper-3.6.2-bin/conf目录下创建zoo.cfg文件,配置相关参数:

#以zoo_sample.cfg为模板,创建zoo.cfg文件。
cp /opt/apache-zookeeper-3.6.2-bin/conf/zoo_sample.cfg /opt/apache-zookeeper-3.6.2-bin/conf/zoo.cfg
#################zoo.cfg配置文件的内容如下:#################
#ZooKeeper使用的基本时间单位(毫秒)。它用于做心跳,并且最小会话超时将是tickTime的两倍。
tickTime=2000
#存储内存数据库快照的位置,除非另有说明,否则存储数据库更新的事务日志。
dataDir=/opt/apache-zookeeper-3.6.2-bin/data
#用于侦听客户端连接的端口。
clientPort=2181
#ZooKeeper服务器必须连接到leader的时间长度。这里设定的时间长度是10秒(initLimit*tickTime)。
initLimit=5
#限制服务器与主机之间的超时范围。这里设定的时间范围是4秒(syncLimit*tickTime)。
syncLimit=2

#server.1中的1表示自定义ZooKeeper的服务ID是1。
#192.168.120.xxx表示ZooKeeper所在服务器的IP。
#2888表示集群内机器通信使用2888端口。
#3888表示选举leader使用3888端口。
server.1=192.168.120.100:2888:3888
server.2=192.168.120.101:2888:3888
server.3=192.168.120.102:2888:3888

第五步:根据刚才配置的dataDirserver.IDIP新建目录并定义服务编号;

#新建目录
mkdir /opt/apache-zookeeper-3.6.2-bin/data
#创建myid文件并写入内容为1,实际上就是配置server.ID为1。
echo 1 > /opt/apache-zookeeper-3.6.2-bin/data/myid
#查看myid文件的内容是不是刚才写入的数字。
cat /opt/apache-zookeeper-3.6.2-bin/data/myid

第六步:另外两台虚拟机重复上述步骤,注意:第五步要以zoo.cfg内容为操作标准(略)。

启动&关闭ZooKeeper集群

#############在每个服务器上的/opt/apache-zookeeper-3.6.2-bin/bin目录下执行:#############
#启动
./zkServer.sh start
#查看状态
./zkServer.sh status
#重启
./zkServer.sh restart
#停止
./zkServer.sh stop
#查看日志
./zkServer.sh start-foreground
#进入客户端
./zkCli.sh

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐