Zookeeper集群搭建

Posted 南望孤笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper集群搭建相关的知识,希望对你有一定的参考价值。

1.一共三个节点(zk服务器集群规模不小于3个节点),要求服务器之间系统时间保持一致。

2. 先去zookeeper官网下载zookeeper的安装包,并将zookeeper通过工具上传到服务器。上传zk

进行解压:

tar -zxvf  zookeeper-3.4.5.tar.gz

重命名:

mv zookeeper-3.4.5 zookeeper

使用vi /etc/profile命令配置zookeeper的环境变量,在profile文件最后加入下面两行:

vi /etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$ZOOKEEPER_HOME/bin:$PATH

为了使环境变量生效,使用source /etc/profile命令刷新环境变量。

source /etc/profile

使用cd /usr/local/zookeeper/conf目录下修改zookeeper的配置文件。因为zookeeper默认使用的配置文件是zoo.cfg,所以使用mv zoo_sample.cfg zoo.cfg命令重命名zookeeper的配置文件。

使用vi zoo.cfg命令修改zoo.cfg文件

vi zoo.cfg

修改两处

(1)dataDir=/usr/local/zookeeper/data

(2)并在文件最后添加下面三行(因为我在学习zookeeper时使用了三台虚拟机):

server.1=192.168.198.130:2888:3888
server.2=192.168.198.129:2888:3888
server.3=192.168.198.128:2888:3888

退出并保存zoo.cfg文件。

服务器标识配置:

在/usr/local/zookeeper目录下使用mkdir data目录,并进入data目录,接着使用vi myid创建myid文件,该文件中的内容为0(另外两台虚拟机为1,2)。

启动zookeeper

进入/usr/local/zookeeper/bin目录,使用zkServer.sh start启动zookeeper(如果想看日志或者想看一下在启动过程中是否报错,可以使用zkServer.sh start-foreground命令启动zookeeper)。

使用zkServer.sh status来查看zookeeper的状态,我这里因为有三个节点,所以其一个为leader,另外两个为follower。

zkServer.sh stop 停止服务

 

操作zookeeper (shell)

在ZOOKEEPER_HOME/bin目录下输入zkCli.sh可以进入zookeeper客户端。

查找:ls /

创建并赋值:create /hyy "mydata"

获取:get /hyy

设置值:set /hyy "hello"

deleteall /path删除递归节点(当前要删除的节点下还有子节点则要使用rmr命令)

delete /path/child删除指定的节点

创建节点有两种类型:短暂(ephemeral)、持久(persistent)

 

zookeeper配置文件详解:

tickTime:基本事件单元,以毫秒为单位。这个时间是作为zookeeper服务器与服务器之间或客户端与服务器之间维持心跳的事件间隔。也就是每隔tickTime发送一个心跳。

dataDir:存储内存中数据快照的位置,就是zookeeper保存数据的目录。默认情况下,zookeeper将写数据的日志文件也保存在这个位置。

clientPort:客户端连接zookeeper服务器的端口,zookeeper会监听该端口,接受客户端的访问请求。

initLimit:用来配置zookeeper接受客户端初始化连接时最长能忍受多少个心跳时间间隔,当超过10个心跳时间(也就是tickTime)长度后,zookeeper服务器还没有收到客户端的返回信息,则认为该客户端连接失败。总的时间长度就是10 * 2000=20秒(默认情况下)。

syncLimit:leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5 * 2000=10秒(默认情况下)。

server.A=B:C:D:A表示这个是第几号服务器,B表示该服务器的ip地址,C表示该服务器与集群中的leader服务器蒋欢信息的端口,D表示如果集群中的leader服务器挂了,则通过该端口进行选举,选出一个新的leader。

 

     

 

以上是关于Zookeeper集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

搭建Zookeeper集群服务启动失败

Zookeeper集群搭建

zookeeper--- 搭建zookeeper集群

zookeeper集群搭建

ZooKeeper系列1.ZooKeeper单机版伪集群和集群环境搭建

Kafka + Zookeeper集群搭建