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.分布式队列

正文主要是安装配置,分布式理论的上还是较好,接下去将会晤持续享受实践着的取得。

相关文章

发表评论

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

*
*
Website