zookeeper集群部署

原创
2019/03/18 16:55
阅读数 415
本文档采用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服务器的运行基础环境。

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

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

 

安装部署

为了生产环境的 ZooKeeper 服务的可靠性,我们通常会部署多节点的 ZooKeeper 以确保服务的容错性。

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

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服务器,但它们的网络电缆都插入同一个网络交换机,那么该交换机的故障将影响整个集群。

1、下载并解压二进制文件

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

2、进入目录查看文件分布

3、进入配置文件目录

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

4、修改配置文件

[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

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

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

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

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

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

7、将 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/

8、分别在节点上修改成对应myid 

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

9、在各节点分别启动zookeeper

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

10、查看各节点状态

[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

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

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

11、通过连接到主机来测试部署

在Java中,您可以运行以下命令来执行简单操作:

[root@master bin]# ./zkCli.sh -server master:2181

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部