玩转数人云:快速搭建ZooKeeper集群

jopen 9年前
 

熟悉ZooKeeper的朋友都清楚,这是一个好东西。只是搭建ZooKeeper集群却不是一件容易的事。使用数人云部署ZooKeeper集群?那就是分分钟的事。

注:ZooKeeper 介绍见本文尾部

两步搭建 ZooKeeper 集群

第一步:创建集群

创建集群的方法很简单,请参考:

数人云用户手册:集群管理

注意:

本文中使用了6台主机为大家更好的展现如何搭建集群环境。

·前三台主机为Master节点,主机类型请选择"计算节点" 和 "数据节点";

·第四、五、六台主机类型请选择"计算节点",用于部署ZooKeeper集群;

主机既包括可以连接互联网的物理主机,也可以是阿里云、UCloud、 AWS、Azure、首都在线和华为云等公有云上购买的任意一台云主机。

确认集群环境正常

按照手册提示,完成集群创建后,请检查主机运行是否正常,查看群集如图所示:

玩转数人云:快速搭建ZooKeeper集群

第二步:发布ZooKeeper集群应用

点击"新建应用",按照如下提示,新建Zookeeper应用:

·填写应用名称:zookeeper

·选择集群:es-demo

·添加应用镜像地址:testregistry.dataman.io/centos7/zookeeper-3.4.6 (数人云演示镜像)

·填写镜像版本:2015120202

·选择应用模式:HOST 模式

·选择应用类型:无状态应用

·主机选择:10.3.10.17,10.3.10.47,10.3.10.61

·选择容器规格: CPU:0.2 内存:512 MB

·添加环境变量

ZKLIST: 10.3.10.17:2888:3888,10.3.10.47:2888:3888,10.3.10.61:2888:3888

ENNAME: eth0 (slave主机的内网IP网卡名称,默认为eth0)

如图所示:

玩转数人云:快速搭建ZooKeeper集群

玩转数人云:快速搭建ZooKeeper集群

确认ZooKeeper集群正常运行

应用列表如图:

玩转数人云:快速搭建ZooKeeper集群

命令行下确认zookeeper集群正常:

玩转数人云:快速搭建ZooKeeper集群

到此,3个节点的zookeeper的集群就部署完成啦!

相关Dockerfile和脚本已开源

所使用的 Dockerfile 和启动脚本全部开源,并上传到了数人的GITHUB,有兴趣的同学可以帮助一起改进。

什么是 ZooKeeper

Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务,使得分布式应用可以基于这些接口实现诸如同步、配置维护和分集群或者命名的服务。

zookeeper是一个由多个service组成的集群,一个leader,多个follower,每个server保存一份数据部分,全局数据一致,分布式读写,更新请求转发由leader实施.

更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行,数据更新原子性,一次数据更新要么成功,要么失败,全局唯一数据试图,client无论连接到哪个server,数据试图是一致的.

为什么要用 ZooKeeper

大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等),目前,大部分应用需要开发私有的协调程序,缺乏一 个通用的机制.协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器,ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用。