ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper 通过其简单的架构和 API 解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。

1 安装Zookeeper

1.1 zookeeper下载

因为zookeeper下的一款开源应用,所以我们要去Apache里面下载:

Apache ZooKeeper

从上面可以看出,3.7.0版本是最新版本,然后后面可以看到,3.6.3是稳定版本,一般我们还是以稳为主

1.2 安装JDK Zookeeper

先找到两个文件,上传至Linux

输入命令:

 tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/
 tar -zxvf jdk-8u281-linux-x64.tar.gz -C /opt

命令的作用是将zookeeper和jdk解压复制到/opt目录下

1.3 配置jdk环境变量

配置环境变量

 vim /etc/profile

将下面代码复制粘贴到文件最下方

 export JAVA_HOME=/opt/jdk1.8.0_281
 export PATH=$PATH:$JAVA_HOME/bin
 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 export JRE_HOME=$JAVA_HOME/jre

输入命令:让配置文件生效

 source /etc/profile

输入

 java -version

1.4 配置Zookeeper

1.先查看zookeeper的文件结构

推荐学习网站Zookeeper 安装_w3cschool

2.我们进入配置文件夹

也许大家有点不解,为啥没有zoo.cfg,而没有zoo_sample.cfg。我们下方会讲到的

我们先查看zoo_sample.cfg,看看里面的配置

tickTime = 2000   #Zookeeper的时间单元。Zookeeper中所有时间都是以这个时间单元的整数倍去配置的。例如,session的最小超时时间是2*tickTime。(单位:毫秒)
 ​
 ​
 dataDir = /path/to/zookeeper/data   #用于存放内存数据快照的文件夹,同时用于集群的myid文件也存在这个文件夹里
 ​
 ​
 clientPort = 2181   #服务的监听端口
 ​
 ​
 initLimit = 5   #Observer和Follower启动时,从Leader同步最新数据时,Leader允许initLimit * tickTime的时间内完成。如果同步的数据量很大,可以相应的把这个值设置的大一些。
 ​
 syncLimit = 2   #表示Follower和Observer与Leader交互时的最大等待时间,只不过是在与leader同步完毕之后,进入正常请求转发或ping等消息交互时的超时时间。

1.5 启动Zookeeper

进入zookeeper的bin目录夹下,下面都是他的一些启动项

输入:

 ./zkServer.sh start

会报错,它说没有找到对应的配置文件

好了,这就对应到了我们上面碰到的,为啥没有zoo.cfg文件了,我们回到原来的bin目录下,输入命令:

 [root@localhost conf]# cp zoo_sample.cfg zoo.cfg

然后我们再进行启动:

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

系统显示启动成功

关闭zookeeper命令

 ./zkServer.sh stop

最后,我们启动cli脚手架:

 ./zkCli.sh

zookeeper就已经是运行状态了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐