一、单机部署

1、安装包下载

https://archive.apache.org/dist/zookeeper

2、上传并解压

tar -zvxf zookeeper-3.4.14.tar.gz

3、配置环境变量

my_env.sh是自己创建的环境变量文件,你也可以自己创建

vim /etc/profile.d/my_env.sh
#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/usr/local/src/zookeeper/zookeeper-3.4.14
export PATH=$ZOOKEEPER_HOME/bin:$PATH

在这里插入图片描述

source /etc/profile.d/my_env.sh 

4、复制配置

cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg

5、启动单机

启动

$ZOOKEEPER_HOME/bin/zkServer.sh start

在这里插入图片描述

jps

在这里插入图片描述

查看状态

$ZOOKEEPER_HOME/bin/zkServer.sh satus

在这里插入图片描述

关闭

$ZOOKEEPER_HOME/bin/zkServer.sh stop

在这里插入图片描述

二、 集群配置

1、分发文件

scp /etc/profile.d/my_env.sh root@hadoop101:/etc/profile.d/
scp /etc/profile.d/my_env.sh root@hadoop102:/etc/profile.d/
scp -r /usr/local/src/zookeeper root@hadoop101:/usr/local/src/
scp -r /usr/local/src/zookeeper root@hadoop102:/usr/local/src/

记得source环境变量

2、修改zoo.cfg配置

zoo.cfg下面默认有六个属性,他们分别是:1.tickTime,2.initLimit,3.syncLimit,4.dataDir,5.clientPort,6.dataLogDir
下面我们来对这六个属性做详细的分析

1.tickTime:通信心跳时间,单位毫秒

tick翻译成中文的话就是滴答滴答的意思,连起来就是滴答滴答的时间,寓意心跳间隔,单位是毫秒,系统默认是2000毫秒,也就是间隔两秒心跳一次。

tickTime的意义:客户端与服务器或者服务器与服务器之间维持心跳,也就是每个tickTime时间就会发送一次心跳。通过心跳不仅能够用来监听机器的工作状态,还可以通过心跳来控制Flower跟Leader的通信时间,默认情况下FL的会话时常是心跳间隔的两倍。

2.initLimit
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

3.syncLimit
集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。

4.dataDir
该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等。

5.clientPort

zookeeper默认的端口号是2181,客户端会连接这个端口,zookeeper可以通过这个端口接收来自客户端发送的请求

6.dataLogDir

配置集群信息和日志路径还有data路径
在这里插入图片描述

3、启动

发现起不来,查看日志信息发现
在这里插入图片描述

4、配置myid

在你配置的data路径下
创建myid文件,记得每个节点id要不同
在这里插入图片描述
记得配置要分发给其他节点!!
三个重新启动发现就可以看可以了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

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

更多推荐