zookeeper集群安装

1.下载zookeeper安装包

下载地址:https://www.apache.org/dist/zookeeper/
在这里插入图片描述

2.上传到虚拟机中,解压。

3.修改配置文件(先在一个节点上配置)

3.1进入到conf目录,将zoo_sample.cfg修改为zoo.cfg

mv zoo_sample.cfg zoo.cfg
  • 1

3.2.退回上级目录,添加一个文件zkdatamkdir zkdata
3.3.打开zoo.cfg文件,修改datadir=zkdata的路径,并添加

server.1=你的IP:2888:3888   //3888是选举端口
server.2=第二台机器IP:2888:3888
......
server.N=IP:2888:3888
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
现在讲一下每个配置代表的含义:
1.tickTime:CS通信心跳时间
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
tickTime=2000

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

3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=2

4.dataDir:数据文件目录
Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
dataDir=/home/michael/opt/zookeeper/data

5.clientPort:客户端连接端口
客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
clientPort=2181

6.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:
server.N=YYY:A:B

server.1=IP或者主机名:2888:3888
server.2=IP或者主机名:2888:3888
server.3=IP或者主机名:2888:3888

3.4.在刚才建好的zkdata下创建一个一个文件,名称为myid,里面内容是server.N中的N(server.2里面内容为2)

echo 1 > myid
  • 1

3.5.将配置好的zk拷贝到其他节点::

scp -r zookeeper目录 目标主机:目标目录
  • 1

3.6注意:在其他节点上一定要修改myid的内容

4.启动集群

zookeeper的集群只能分别启动,进入到bin目录下,执行:

./zkServer.sh start
  • 1

不过这样比较麻烦,我们可以自己写一个脚本文件,可以同时启动我们创建的zookeeper集群。
首先我们在zookeeper安装目录下新建一个名称为zkmanage.sh的文件,打开文件,写入如下脚本:

#!/bin/bash
for host in L1 L2 L3      //此处我的三台主机名分别为L1,L2,L3
do
echo "${host}:${1}ing........"       //打印启动提示信息
#通过ssh分别去执行每个节点中的zkServer.sh
ssh $host " source /etc/profile;/home/hadoop/app/zookeeper-3.4.5/bin/zkServer.sh $1"   
done
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

启动完成后,通过./zkServer.sh status查看各个节点的状态,会发现有的节点为leader,其他节点为flower,说明安装成功了。

到此就结束了,如果有什么错误还望各位大神在下方留言指正。

原文地址:https://www.cnblogs.com/ExMan/p/14308258.html