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

Zookeeper集群搭建及基本使用

时间:2015-08-03 00:49:13      阅读:663      评论:0      收藏:0      [点我收藏+]

标签:


硬件环境

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里面, 要么在本地磁盘上。

技术分享

 技术分享

 

 

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数

 

 

 

 

 

Zookeeper集群搭建及基本使用

标签:

原文地址:http://www.cnblogs.com/thinkpad/p/4697088.html

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