您的位置:首页 > 其它

zookeeper集群搭建

2017-09-01 17:26 316 查看


安装zookeeper

(1).在/usr/local/software下创建zookeeper的包
cd /usr/local/software 
mkdir zookeeper
mkdir zkdata

mkdir zkdatalog

(2).下载zookeeper包
cd zookeeper
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
(3).解压 tar -zxvf zookeeper-3.4.6.tar.gz

(4).修改配置文件
cd zookeeper-3.4.6/conf/
里面有官方提供的模板文件zoo_sample.conf  复制一份zoo.conf
cp zoo_sample.conf zoo.conf
三台服务器都要这么配置

[html] view
plain copy

tickTime=2000  

initLimit=10  

syncLimit=5  

dataDir=/usr/local/software/zkdata  

dataLogDir=/usr/local/software/zkdatalog  

clientPort=12181  

server.1=192.168.67.128:12888:13888  

server.2=192.168.67.129:12888:13888  

server.3=192.168.67.130:12888:13888  

#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,  

#用来标识服务器,这个标识要写到快照目录下面myid文件里  

#192.168.67.128为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,  

#第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888  

(5).配置文件说明

[html] view
plain copy

#tickTime:  

这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。  

#initLimit:  

这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒  

#syncLimit:  

这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒  

#dataDir:  

快照日志的存储路径  

#dataLogDir:  

事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多  

#clientPort:  

这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。修改他的端口改大点  

(6).在zkdata下创建myid文件
内容只有一个字 “1” 代表本机server的id,注意另外两台主机myid文件分别写入“2”和“3”。

(7).属性文件说明
log4j.properties中zookeeper.log.dir=/usr/local/software/zkdatalog
日志打印路径,建议设置统一的日志目录,当zk数据量激增的时候,如果日志打印到默认目录,将会大大影响性能。


启动zookeeper服务

cd  /usr/local/software/zookeeper/zookeeper-3.4.6/bin
./zkServer.sh start  #三台都要启动
./zkServer.sh status #检查服务状态


失败排查

如果查看状态失败,请到bin目录下查看zookeeper.out看原因,主要失败原因如下:

(1).myid文件要配置在各自服务器的dataDir目录下面

(2).zoo.cfg文件的dataDir和dataLogDir配置的路径必须存在

(3).关闭防火墙:http://blog.csdn.net/m0_38110132/article/details/77533242
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: