菜单

Centos7 ZookeeperCentos7 Zookeeper

2018年9月19日 - betway官网手机版

本文版权归博客园和作者吴双本人并所有 转载和爬虫请注明原文地址
www.cnblogs.com/tdws

本文版权归博客园和作者吴双本人并所有 转载和爬虫请注明原文地址
www.cnblogs.com/tdws

一.状于眼前

ZK是一个高速之分布式协调服务,高可用之分布式管理协调框架。
朋友推荐一本书《从paxos到zookeeper》,对自扶的确颇挺。 

一.描绘以眼前

ZK是一个火速之分布式协调服务,高可用之分布式管理协调框架。
朋友推荐一本书《从paxos到zookeeper》,对本人拉的确挺非常。 

二.集群配置以及踩坑

java安装以及环境变量配置可以参考 http://www.cnblogs.com/tdws/p/4096300.html 

1 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz   下载
2  
3 tar -zxvf zookeeper-3.4.10.tar.gz   解压
4  
5 mv zookeeper-3.4.10 /usr/local  剪切
6  
7 mv zookeeper-3.4.10/ zookeeper 重命名

下修改配置文件命名

1 cd /usr/local/zookeeper/conf
2 mv zoo_sample.cfg zoo.cfg

配置一共没几实行 。指定安排中的 
dataDir

dataDir=/usr/local/zookeeper/data

自行mkdir创建data文件夹。

每当布局文件末尾 配置集群
我是独自台机械伪集群 三独节点

1 server.1=your_ip:20881:30881
2 server.2=your_ip:20882:30882
3 server.3=your_ip:20883:30883

每当data文件夹着开创文件myid
来举行一个标识

nano myid 于文件被填写0
并且保留。需要专注的凡才咱们的zookeeper文件夹是未采用的,仅看成咱们copy新节点的原。

属下复制三客zk

1 cp -r zookeeper/ zookeeper1
2 cp -r zookeeper/ zookeeper2
3 cp -r zookeeper/ zookeeper3

 

图片 1

各自修改三宝节点 其datadir
将路径指定到祥和节点之下

分级修改其端口号及myid,是逐一zoo.conf
配置的内部port 设置分别吗2181 2182 2183

梯次myid内容分别吗1 2 3

下面 去三个zk bin目录下 执行zkServer.sh
start

图片 2

 

第一次 出错

Error contacting service. It is probably
not running.

哎 检查好几单钟头ZK配置文件
试了十几种方式,
结果之前JAVA_HOME不小心配置错了,我是yum安装之jdk。

 

第二次 出错与缓解

新生又发一致浅错误 是本人stop zk所有节点之后
再次启动自无来 首先 jps命令 然后看到进程id和QuorumPeerMain

把Quorumpeermain的进程kill -9杀死

 

第三次
我丢雷楼某! 这个算麻烦了

倘利用阿里云ECS
专有网络+弹性公网IP

相似不可知一直在ECS实例的次第条例绑定和运用弹性公网IP地址。因为此公网IP地址以ECS之外。所以自己起来了有着的端口,根本无因此,最后动用0.0.0.0缓解问题。

1 server.1=0.0.0.0:20881:30881
2 server.2=0.0.0.0:20882:30882
3 server.3=0.0.0.0:20883:30883

图片 3

图片 4

二.集群配置与踩坑

java安装与环境变量配置可以参考 http://www.cnblogs.com/tdws/p/4096300.html 

1 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz   下载
2  
3 tar -zxvf zookeeper-3.4.10.tar.gz   解压
4  
5 mv zookeeper-3.4.10 /usr/local  剪切
6  
7 mv zookeeper-3.4.10/ zookeeper 重命名

脚修改配置文件命名

1 cd /usr/local/zookeeper/conf
2 mv zoo_sample.cfg zoo.cfg

安排一共没几履行 。指定安排中的 
dataDir

dataDir=/usr/local/zookeeper/data

自行mkdir创建data文件夹。

于配置文件末尾 配置集群
我是单纯台机械伪集群 三独节点

1 server.1=your_ip:20881:30881
2 server.2=your_ip:20882:30882
3 server.3=your_ip:20883:30883

每当data文件夹着创造文件myid
来开一个标识

nano myid 于文书中填写0
并且保留。需要小心的凡方咱们的zookeeper文件夹是休动的,仅看成咱们copy新节点的原。

通下去复制三客zk

1 cp -r zookeeper/ zookeeper1
2 cp -r zookeeper/ zookeeper2
3 cp -r zookeeper/ zookeeper3

 

图片 5

分别修改三雅节点 其datadir
将路径指定到温馨节点之下

独家修改该端口号及myid,是逐一zoo.conf
配置的里port 设置分别吗2181 2182 2183

次第myid内容分别吗1 2 3

下面 去三个zk bin目录下 执行zkServer.sh
start

图片 6

 

第一次 出错

Error contacting service. It is probably
not running.

哎 检查好几只小时ZK配置文件
试了十几种植方法,
结果前JAVA_HOME不小心配置错了,我是yum安装的jdk。

 

第二次 出错与解决

后来同时发出同软错误 是自个儿stop zk所有节点之后
再次启航于无来 首先 jps命令 然后看进程id和QuorumPeerMain

把Quorumpeermain的进程kill -9杀死

 

第三次
我丢雷楼某! 这个算麻烦了

假若以阿里云ECS
专有网络+弹性公网IP

相似不能够直接当ECS实例的次第条例绑定和使用弹性公网IP地址。因为是公网IP地址在ECS之外。所以自己起了拥有的端口,根本没就此,最后使0.0.0.0化解问题。

1 server.1=0.0.0.0:20881:30881
2 server.2=0.0.0.0:20882:30882
3 server.3=0.0.0.0:20883:30883

图片 7

图片 8

三.运用和总结

攻ZK一段时间,原生API比较难以使用,一般以zkClient(dubbo因让之)和curator框架来操作ZK比较容易。 其突出以场景包括以下几碰:

1.数目发布与订阅

   
ZK在dubbo中当注册中心的角色,服务方和调用方都于这边登记。举例来说明,我发表了一个dubbo
service,消费者webapp引用这服务

 <dubbo:service interface="com.s2s.service.ItemService" ref="itemServiceImpl"/>   发布的服务

 <dubbo:reference interface="com.s2s.service.ItemService" id="itemService"/>     引用服务(将使用RPC调用)

  接下去服务器上查看数据节点,

图片 9

足看出根目录上起dubbo节点,dubbo下有com.s2s.service.ItemService,
其节点下同时起consumers和providers等。

图片 10图片 11

劳务提供者启动时向/dubbo/com.s2s.service.ItemService/providers目录下写副URL

劳务消费者启动时订阅/dubbo/com.s2s.service.ItemService/providers目录下之URL。
并且向/dubbo/com.s2s.service.ItemService/consumers目录下写副自己之URL 

督查中心启动时订阅/dubbo/com.s2s.service.ItemService/目录下的富有提供者和顾客URL。

为此dubbo监控中心,查相顾客和劳务提供者

图片 12

图片 13

2.载重均衡

3.命名服务

4.分布式通知及和谐

5.集群管理和Master选举

6.分布式锁

    有许多人之所以它们做分布式锁
但是做法比较底层。临时节点是在同等不成对话内中,保证了出现异常时,锁能得释放。比如client1
做分布式操作 那他创立一个即节点 然后失去开片其他数操作 做截止操作后,
再夺管临时节点移除。这时c2才能够去操作。如果发生10只客户端
要操作同一个数码,但是是数目,有差不多独复制的版
在不同之DB当中(当然值是千篇一律)。

是上 分布式锁之意就是同步操作。客户端1 操作 这条数,
那就错过zk立即 就create个节点 代表占用了即长达数据,这时候客户端2
并发操作就条数 先去zk上get一下是节点,get到的话
可以等待一下,等客户端1 释放掉后,去重新create一下攻城略地数据。

7.分布式队列

正文主要是安配置,分布式理论的习还是比较好,接下将见面继续享受实践备受的获得。

三.下和小结

学ZK一段时间,原生API比较难以使用,一般采取zkClient(dubbo因让这)和curator框架来操作ZK比较轻。 其独立以场景包括以下几点:

1.数据发布与订阅

   
ZK在dubbo中作注册中心的角色,服务方和调用方都于此登记。举例来说明,我公布了一个dubbo
service,消费者webapp引用这服务

 <dubbo:service interface="com.s2s.service.ItemService" ref="itemServiceImpl"/>   发布的服务

 <dubbo:reference interface="com.s2s.service.ItemService" id="itemService"/>     引用服务(将使用RPC调用)

  接下去服务器上查看数据节点,

图片 14

得看来根目录上闹dubbo节点,dubbo下有com.s2s.service.ItemService,
其节点下同时产生consumers和providers等。

图片 15图片 16

劳务提供者启动时向/dubbo/com.s2s.service.ItemService/providers目录下写副URL

劳务消费者启动时订阅/dubbo/com.s2s.service.ItemService/providers目录下的URL。
并且向/dubbo/com.s2s.service.ItemService/consumers目录下写副自己之URL 

监督中心启动时订阅/dubbo/com.s2s.service.ItemService/目录下之有所提供者和买主URL。

因而dubbo监控中心,查相顾客以及劳动提供者

图片 17

图片 18

2.载重均衡

3.命名服务

4.分布式通知及和谐

5.集群管理暨Master选举

6.分布式锁

    有众多总人口就此其举行分布式锁
但是做法比较底层。临时节点是当平次等对话内有效,保证了出现异常时,锁能得以释放。比如client1
做分布式操作 那他创办一个现节点 然后错过举行有别数操作 做得了操作后,
再夺管临时节点移除。这时c2才能够去操作。如果生10个客户端
要操作同一个数额,但是这数目,有差不多个复制的本子
在不同的DB当中(当然值是如出一辙)。

此时候 分布式锁之意向就是是同步操作。客户端1 操作 这漫长数据,
那就是夺zk立即 就create个节点 代表占用了立条数,这时候客户端2
并发操作就漫漫数据 先去zk上get一下此节点,get到的话
可以等待一下,等客户端1 释放掉后,去重新create一下占领数据。

7.分布式队列

正文主要是安配备,分布式理论的习还是较好,接下将见面继续享受实践着的获取。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图