Zookeeper集群搭建及基本使用

硬件环境

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数

 

 

 

 

 

时间: 2024-10-13 20:18:34

Zookeeper集群搭建及基本使用的相关文章

kafka学习(二)-zookeeper集群搭建

zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是hadoop的一个子项目,其发展历程无需赘述.在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制 不适合在某些应用中使用,因此需要有一种可靠的.可扩展的.分布式的.可配置的协调机制来统一系统的状态.Zookeeper的目的就在于此. 1.角色 Zookeeper中的角色主要有以下三

Linux下ZooKeeper集群搭建

首先安装VMWare,装了两个虚拟机,版本是CentOS6.5,IP分别是 192.168.3.20 192.168.3.21 然后下载ZooKeeper包:http://zookeeper.apache.org/,使用命令tar -zxvf  zookeeper.tar.gz 进行解压,解压到/opt/soft目录 修改主机名 vim  /etc/hosts ,在hosts文件中添加一下两项 192.168.1.20 master 192.168.1.21 slave1 进入zookeeper

【zookeeper】 zookeeper 集群搭建

集群搭建环境: 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 集群搭建步骤: 1. 确保机器安装了jdk [[email protected] ~]# java -version openjdk version "1.8.0_51" OpenJDK Runtime Environment (build 1.8.0_51-b16) OpenJDK 64-Bit Server VM (build

2. zookeeper集群搭建

zookeeper集群搭建 1.zookeeper集群组件: Zookeeper集群中的服务器角色有三种, leader(主)  server, follower(从)  server, observer(从)  server: 2.leader特殊之处在于它有决定权,具有Request Processor (observer server 与follower server的区别就在于不参与leader选举) 3.配置文件: 3.1将zoo_sample.cfg修改为zoo.cfg配置文件(好记

CentOS下的ZooKeeper集群搭建

ZooKeeper集群搭建过程: 1.下载ZooKeeper安装包,解压安装: 2.在/etc/profile下配置ZooKeeper环境变量,增加变量$ZOOKEEP_HOME=ZooKeeper安装目录,再将$ZOOKEEPER_HOME/bin添加到$PATH变量: 3.将ZooKeeper安装目录conf下zoo_sample.cfg另存为zoo.cfg, 并修改相关配置信息: 4.将zoo.cfg文件拷贝到集群下的其他服务器上: 5.在每一台ZooKeeperZooKeeper服务器的

Zookeeper 集群搭建

下载并上传 zookeeper-3.5.3-beta.tar.gz 到各个服务器的/soft/zookeeper目录,或者使用wget命令,如下: cd /soft/zookeeper wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz tar -xvf zookeeper-3.5.3-beta.tar.gz 在各个服务器上解压zoo

分布式架构中一致性解决方案——Zookeeper集群搭建

当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转账,支付宝转账这种,如果是一台机器的话,这个还是很方便的,windows中自带了一个事务协 调器mstsc,但是呢,你那种很大很牛逼的项目不可能全是windows服务器,对吧,有些人为了解决这个问题,会采用2pc,3pc这种算法,或者是paxos的思 想进行分布式下的一致性处理,当然在这个世界上,真

ZooKeeper集群搭建中的Connection refused而导致的启动失败

1. 前言 每一次搭建集群环境都像一次战斗,作战中任何一个细节的出错都会导致严重的后果,所以搭建中所需要做的配置如系统配置.网络配置(防火墙记得关).用户权限.文件权限还有配置文件等等内容,都必须非常仔细,将失误扼杀在摇篮之中,避免因为粗心或者想要提高速度省下的一分钟,在后面付出几个小时的调试时间,因小失大实在不值,切记核对.核对再核对. 今天就来说说在搭建ZooKeeper集群遇到的一个常见的问题Connection refused,也就是网上很多朋友也会出现的问题,问题的表现也许是一样,但是

solr+zookeeper集群搭建

一.前期准备工作 相关工具: 1.虚拟机(VMware) 2.tomcat7 64位  下载地址:http://tomcat.apache.org/download-70.cgi 3.centos6.4  64位 4.linux下的64位jdk安装包,版本为6或以上 5. solr-4.3.1.tgz包  下载:http://archive.apache.org/dist/lucene/solr/ 6. zookeeper-3.4.5.tar.gz包  下载:http://hadoop.apac

zookeeper文档(1)----zookeeper集群搭建

转载请注明出处:http://blog.csdn.net/beitiandijun/article/details/41802835 ubuntu下搭建zookeeper集群步骤 主要参考文档: http://zookeeper.apache.org/doc/r3.3.3/zookeeperStarted.html http://www.blogjava.net/hello-yun/archive/2012/05/03/377250.html 一.下载源码: 官方网站: http://mirro