zookeeper集群部署

本文档采用3.4.13(stable)版本搭建,生产环境建议部署当前稳定版本。

zookeeper二进制包下载地址:
http://archive.apache.org/dist/zookeeper/

参考官方文档地址:
http://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#sc_systemReq

必备软件

ZooKeeper 在 Java 中运行,版本 1.6 或更高版本(本文采用8版本)。它做为ZooKeeper服务器的运行基础环境。html

三个ZooKeeper服务器是总体的最小建议大小,建议部署在不一样的物理机器上。node

在Yahoo!,ZooKeeper一般部署在专用的RHEL盒子上,具备双核处理器,2GB RAM和80GB IDE硬盘。apache

 

安装部署

为了生产环境的 ZooKeeper 服务的可靠性,咱们一般会部署多节点的 ZooKeeper 以确保服务的容错性。windows

准备三台测试服务器进行部署,分别添加进 hosts 文件bash

192.168.4.100 master
192.168.4.21 node
192.168.4.57 node1

添加同步时间的任务计划啊(三台机器都执行)服务器

yum install -y ntpdate

echo "*/5 * * * * ntpdate time.windows.com" >> /var/spool/cron/root

注:搭建 Zookeeper 集群最好使用奇数个机器。例如,使用四台机器,ZooKeeper 只能处理单台机器的故障; 若是两台机器出现故障,其他两台机器不会占多数。可是,有了五台机器,ZooKeeper能够处理两台机器的故障,当有六台时也只能处理两台机器的故障。网络

冗余注意事项应包括环境的全部方面。若是有三台ZooKeeper服务器,但它们的网络电缆都插入同一个网络交换机,那么该交换机的故障将影响整个集群。测试

一、下载并解压二进制文件spa

[root@master ~]# tar zxf zookeeper-3.4.13.tar.gz

二、进入目录查看文件分布日志

三、进入配置文件目录

[root@master conf]# cp zoo_sample.cfg zoo.cfg

四、修改配置文件

[root@master conf]# cat zoo.cfg |grep -v ^$ |grep -v ^#
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/bigdata/zookeeper-3.4.13/data    # 修改默认配置文件路径,不建议使用/tmp
clientPort=2181
# 新增集群配置 server.id = host:port:port 地址,id值惟一,host地址对应的id值需与各节点data目录下myid一致
server.1=master:2888:3888
server.2=node:2888:3888
server.3=node1:2888:3888

五、编辑 bin/zkEnv.sh 设置日志目录(启动若是报错多从日志中寻找信息)

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    ZOO_LOG_DIR="/bigdata/zookeeper-3.4.13/logs"
fi

六、在data目录下建立myid文件,并写入指定id

myid文件由一行组成,只包含该机器id的文本。因此服务器1的myid将包含文本“1”而没有别的。id在总体中必须是惟一的,而且应该具备1到255之间的值。

[root@master zookeeper-3.4.13]# echo '1' >data/myid

七、将 zookeeper-3.4.13 文件传输到其余节点上

[root@master bigdata]# scp -r zookeeper-3.4.13  192.168.4.21:/bigdata/
[root@master bigdata]# scp -r zookeeper-3.4.13  192.168.4.57:/bigdata/

八、分别在节点上修改为对应myid 

# node 节点
[root@node zookeeper-3.4.13]# echo '2' >data/myid
# node1 节点
[root@node1 zookeeper-3.4.13]# echo '3' >data/myid

九、在各节点分别启动zookeeper

[root@node bin]# ./zkServer.sh start

十、查看各节点状态

[root@master bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower

[root@node bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader

[root@node1 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower

在现有集群中三个节点的状况下,关闭两个节点后,第三个节点的状态会出现异常。

启动一个节点(两个节点)状态又能够恢复;主节点关闭后,会选举新的主节点,原主节点启动后会做为从节点。

十一、经过链接到主机来测试部署

在Java中,您能够运行如下命令来执行简单操做:

[root@master bin]# ./zkCli.sh -server master:2181
相关文章
相关标签/搜索