opebet官网Centos7 ZookeeperCentos7 Zookeeper

www.cnblogs.com/tdws,www.cnblogs.com/tdws

本文版权归博客园和作者吴双本人并拥有 转载和爬虫请注明原文地址
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

 

opebet官网 1

个别修改三宝节点 其datadir
将路径指定到好节点之下

分级修改其端口号及myid,是各个zoo.conf
配置的里port 设置分别吗2181 2182 2183

逐条myid内容分别吗1 2 3

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

opebet官网 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

opebet官网 3

opebet官网 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

 

opebet官网 5

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

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

梯次myid内容分别吗1 2 3

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

opebet官网 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

opebet官网 7

opebet官网 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调用)

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

opebet官网 9

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

opebet官网 10opebet官网 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监控中心,查相顾客以及服务提供者

opebet官网 12

opebet官网 13

2.载荷均衡

opebet官网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调用)

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

opebet官网 14

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

opebet官网 15opebet官网 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监控中心,查相顾客和服务提供者

opebet官网 17

opebet官网 18

2.载荷均衡

3.命名服务

4.分布式通知以及协调

5.集群管理以及Master选举

6.分布式锁

    有成百上千人数所以它举行分布式锁
但是做法比较底层。临时节点是当平不成对话内有效,保证了出现异常时,锁能得释放。比如client1
做分布式操作 那他创建一个即节点 然后失去举行有别数操作 做得了操作后,
再去管临时节点移除。这时c2才能够去操作。如果来10只客户端
要操作同一个数,但是这数量,有差不多个复制的版
在不同的DB当中(当然值是千篇一律)。

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

7.分布式队列

本文主要是安装配置,分布式理论的读还是较好,接下去将会持续享受实践备受之获。