2019亚洲杯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

 

2019亚洲杯 1

个别修改三玉节点 其datadir
将路径指定到自己节点之下

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

梯次myid内容分别吗1 2 3

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

2019亚洲杯 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

2019亚洲杯 3

2019亚洲杯 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

 

2019亚洲杯 5

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

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

逐myid内容分别吗1 2 3

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

2019亚洲杯 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

2019亚洲杯 7

2019亚洲杯 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调用)

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

2019亚洲杯 9

可看看根目录及有dubbo节点,dubbo下有com.s2s.service.ItemService,
其节点下又出consumers和providers等。

2019亚洲杯 102019亚洲杯 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监控中心,查相顾客以及服务提供者

2019亚洲杯 12

2019亚洲杯 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调用)

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

2019亚洲杯 14

足见到根目录上发dubbo节点,dubbo下有com.s2s.service.ItemService,
其节点下以出consumers和providers等。

2019亚洲杯 152019亚洲杯 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监控中心,查相顾客与劳务提供者

2019亚洲杯 17

2019亚洲杯 18

2.载荷均衡

3.命名服务

4.分布式通知和和谐

5.集群管理及Master选举

6.分布式锁

    有广大丁为此其举行分布式锁
但是做法比较底层。临时节点是以同等糟糕对话内有效,保证了出现异常时,锁能得释放。比如client1
做分布式操作 那他创办一个临时节点 然后失去举行片其他数操作 做扫尾操作后,
再失管临时节点移除。这时c2才能够去操作。如果起10个客户端
要操作同一个数量,但是是数据,有差不多只复制的本子
在不同的DB当中(当然值是同一)。

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

7.分布式队列

本文主要是安配备,分布式理论的就学还是比好,接下去将见面连续享受实践备受之得。

相关文章