设为首页 收藏本站
查看: 1009|回复: 0

[经验分享] Zookeeper集群搭建及基本使用

[复制链接]

尚未签到

发表于 2015-9-7 10:16:41 | 显示全部楼层 |阅读模式
  
硬件环境

  CentOS 6.3 虚拟机2台
  集群最好是奇数台容灾性好一些,由于允许不过半节点挂点:
  比如5台允许挂掉2台,
  4台只能允许挂掉一台
  http://hi.baidu.com/ttovo/item/97add69b19f1ecbccd80e554
  CentOS虚拟机桥接方式
  环境准备:安装JDK,配置Hosts,配置Hostname
  Zookeeper官方 http://zookeeper.apache.org/
  
  storm集群工作交互图
  
  Nimbus(主节点,master)和Supervisor(工作节点,slave)之间的所有协调工作都是通过一个Zookeeper集群来完成。
  并且,nimbus进程和supervisor都是快速失败(fail-fast)和无状态的。所有的状态要么在Zookeeper里面, 要么在本地磁盘上。
DSC0000.png   
  
  
  zk安装步骤
  
  1、下载解压:
  Wgethttp://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
  
   tar -xvzf zookeeper-3.4.5.tar.gz
  目录为/opt/soft/zookeeper-3.4.5
  
  在/etc/profile 里配置:
  JAVA_HOME
  ZOOKEEPER_HOME
  PATH
  2、创建data目录和myid
  创建data目录:
  $ZOOKEEPER/data,即/opt/soft/zookeeper-3.4.5/data
  创建myid:  /opt/soft/zookeeper-3.4.5/data/myid
  Myid存server的id,可以是1,2,3…,必须唯一
  
  
  配置
  
  3、配置:
  创建文件 $ZOOKEEPER/conf/zoo.cfg
  修改zoo.cfg,增加如下:
  dataDir=/opt/soft/zookeeper-3.4.5/data
  clientPort=2181
  initLimit=10
  syncLimit=5
  tickTime=2000
  server.1=master:2888:3888
  server.2=slave1:2888:3888
  其中server.myid代表组成整个服务的机器,当服务启动时,会在数据目录下查找这个文件myid,这个文件中存有服务器的号码。下面会讲myid文件的配置。

  
  
  
  ZK集群
  Master/slave 模式
  Leader
  Flower
  Flower   
  
  Leader选举
  Node  :树形目录结构,每个目录是一个可存放数据的node
  持久化
  序列化持久化节点
  临时节点
  序列化临时节点
  Watches
  每个节点及子节点数据发生变化或被删除、或创建时触发对应事件
  及时性高

  
  
  启动,基本使用
  
  
  zkServer.sh start     启动
  zkServer.sh status   查看状态
  Master/slave 架构
  Leader选举,Leader负责整个集群Client消息接收,分发给每个Flower。

  
  
  Client操作:
  在任一台机器上
  zkCli.sh -server master:2181

  
  
  zk核心
  
  Node:树形结构,每个叶子是个节点
  4种节点类型
  Watches:事件,当节点及子节点数据变化时触发
  运维中需注意事项:
  1、连接数容易占满
  2、watches数
  

  
  
  补充 :
  

Storm的Nimbus和Supervisor之间通过Zookeeper进行协调
每个Supervisor和Zookeeper之间会存在一个临时目录,当Supervisor挂掉临时目录就会被删除,Nimbus就是通过检测这个目录来进行判断的,一旦挂掉,就会把Supervisor分配的任务重新分配给其他节点,从而保证作业不会受到影响。
  
  
  


zk集群Master/slave

只有一个leader 其他都是flower
leader负责整个zookeeper集群的消息接收和分发,接到消息后会广播到没一台flower节点上面

zookeeper部分leader,只有启动的时候才会选出,当leader挂掉了,就会重新选取一个


leader选举


Node    : 树行目录结构,每个目录是一个可存放数据的node
在做分布式配置的时候可以配置到这个节点上面,修改了立马生效

节点有四种:
持久化节点
序列化持久节点
临时节点:一旦节点挂掉,目录清除
序列化临时节点

watches
每一个节点及子节点数据发送变化或被删除,或创建时,触发对应的事件,及时性高。



进入Zookeeper的客户端命令
./zkCli.sh -server localhost:2181


zookeeper命令:
create
默认是持久化目录
-s : 序列化
-e:临时

创建
create  /aa  "aavalue";

创建序列化的临时目录
create -s -e 、temp “tem”
  
  

获取
get  "aa"

更新
set /aa "newvalue"
  
  

zookeeper连接数

运维注意:

1.连接数容易占满
2.watches数
  
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110473-1-1.html 上篇帖子: ZooKeeper 快速理解 下篇帖子: Zookeeper实战之单机模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表