码迷,mamicode.com
首页 > 其他好文 > 详细

zookeeper集群的部署

时间:2017-03-21 14:03:25      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:source   img   man   mil   http   n+1   停止   top   集群   

因为这里zookeeper的集群部署都会2n+1台

Dubbo建议使用Zookeeper作为服务的注册中心。

Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的。正是基于这个特性,要将ZK集群的节点数量要为奇数(2n+1:如3、5、7个节点)较为合适。

ZooKeeper与Dubbo服务集群架构图

技术分享

这里我们首先选择三台机器

10.19.42.53

10.19.190.32

10.19.165.206

 1、 修改操作系统的/etc/hosts文件,添加IP与主机名映射:

添加下面三个解析:

10.19.42.53 zk-001
10.19.190.32 zk-002
10.19.165.206 zk-003

2.这里我们下载zookeeper的压缩包(这里我的jdk的环境是1.8)

cd /data/tools

上传压缩包zookeeper-3.4.9.tar.gz

tar -xf zookeeper-3.4.9.tar.gz

这里可以做一个软连接

ln -sv zookeeper-3.4.9 zookeeper

cd zookeeper

mkdir /data/zookeeper/{data,logs} -p

cp conf/zoo_sample.cfg conf/zoo.cfg

vim conf/zoo.cfg

技术分享

其他三个节点修改一下相应的地方即可

参数说明:

tickTime=2000

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

initLimit=10

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

syncLimit=5

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

dataDir=/home/wusc/zookeeper/node-01/data

dataDir顾名思义就是Zookeeper保存数据的目录,默认情况下Zookeeper将写数据的日志文件也保存在这个目录里。

clientPort=2181

clientPort这个端口就是客户端(应用程序)连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求。

 

vim /data/zookeeper/zk1/data/myid

1

其他节点的值分别是2,3

添加如下防火墙规则

##### zookeeper
iptablse -A INPUT -m state --state NEW -m tcp -p tcp --dport 2081 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

 

重启防火墙:

 

service iptables restart

 

增加zookeeper环境变量

 

 

编辑文件 /etc/profile,添加如下:

export ZOOKEEPER_HOME=/data/tools/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

source /etc/profile
cd /etc/rc.d/init.d
touch zookeeper && chmod +x zookeeper
vim zookeeper
#!/bin/bash
case $1 in
         start) su root  /data/tools/zookeeper/bin/zkServer.sh start;;
         stop) su root  /data/tools/zookeeper/bin/zkServer.sh stop;;
         status) su root  /data/tools/zookeeper/bin/zkServer.sh status;;
         restart) su root  /data/tools/zookeeper/bin/zkServer.shrestart;;
         *)  echo "requirestart|stop|status|restart"  ;;
esac

// 添加到开机启动 chkconfig zookeeper on chkconfig --add zookeeper
// 启动或停止 service zookeeper start | stop | restart

参考文章:
http://www.open-open.com/lib/view/open1454043410245.html
http://blog.csdn.net/hongtu1993/article/details/53215587

 

 

zookeeper集群的部署

标签:source   img   man   mil   http   n+1   停止   top   集群   

原文地址:http://www.cnblogs.com/smail-bao/p/6593972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!