Centos7 ZookeeperCentos7 Zookeeper

正文版权归博客园和作者吴双本人并享有 转载和爬虫请注明原文地址
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.分布式队列

正文主要是设置配备,分布式理论的念还是较好,接下将会晤持续享受实践着的抱。

相关文章

admin

网站地图xml地图