首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

5分钟快速掌握分布式应用程序协调服-Zookeeper 集群

ZooKeeper分布式模式安装(ZooKeeper集群)也比较容易,这里说明一下基本要点。 首先要明确的是,ZooKeeper集群是一个独立的分布式协调服务集群,“独立”的含义就是说,如果想使用ZooKeeper实现分布式应用的协调与管理,简化协调与管理,任何分布式应用都可以使用,这就要归功于Zookeeper的数据模型(DataModel)和层次命名空间(Hierarchical Namespace)结构。

1、主机名称映射配置

本机安装将采用单机安装集群,因此在配置主机时我们将采用同一Ip,不同端口的操作,具体配置如下:

server.1=localhost:2287:3387server.2=localhost:2288:3388server.3=localhost:2289:3389

在本次安装中,我们将使用三台zookeeper 服务器,分别使用的端口上述端口。

如果在开发中需要配置多台服务器,则可以将对应的ip修改为目标服务器地址:

server.1=10.192.1.120:2288:3388server.2=10.192.1.121:2288:3388server.3=10.192.1.122:2288:3388

除了使用Ip 直接访问外,也可以在本地设置host 域名解析,设置成相应的映射:

host 文件添加

10.192.1.120 slave-01 10.192.1.121 slave-02 10.192.1.122 slave-03

zookeeper 配置文件:

server.1=slave-01:2888:3888 server.2=slave-02:2888:3888 server.3=slave-03:2888:3888

server.A=B:C:D

A:其中 A 是一个数字,表示这个是服务器的编号;

B:是这个服务器的 ip 地址;

C:Leader选举的端口;

D:Zookeeper服务器之间的通信端口。

2、创建配置文件

我们可以在安装目录下找到zoo.cfg配置文件,其中主要的几个配置项内容如下:

Java

client:监听客户端连接端口

tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小的session过期时间为2倍tickTime

syncLimit:fowller与leader之间的心跳时间

dataDir:存储内存中数据库快照的位置

在Zookeeper 的工作目录下创建zoo1.cfg,配置内容如下:

Java

拷贝两份到zoo2.cfg, zoo3.cfg 主要区别为,端口,dataDir需要修改。

Zookeeper的工作目录如下:

Java

快照存放目录创建完后如下:

Java

3、设置myid

在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:

zookeeper echo "1" zoo1/data/myidzookeeper echo "2" zoo2/data/myidzookeeper echo "3" zoo3/data/myid

4、启动Zookeeper 集群

在Zookeeper 的工作目录下,启动各个节点服务:

Java

启动完成后,可以通过 jps 或 zkServer status 查看服务是否启动:

Java

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123A0W58200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券