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集群搭建的主要内容,如果未能解决你的问题,请参考以下文章