葡萄娱乐场Centos7 Zookeeper

正文版权归和讯和作者马建波自身共同具有 转发和爬虫请申明原来的书文地址
www.cnblogs.com/tdws

Centos7 Zookeeper,centos7zookeeper

正文版权归新浪和小编陈菲本身共同享有 转发和爬虫请申明原版的书文地址
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杀死

 

第三次
作者丢雷楼某! 那么些真是麻烦了

假诺利用Ali云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杀死
  第三次 笔者丢雷楼某! 那么些真是麻烦了 假设使用Ali云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目录下写入U传祺L

服务花费者运维时订阅/dubbo/com.s2s.service.ItemService/providers目录下的UWranglerL。
并且向/dubbo/com.s2s.service.ItemService/consumers目录下写入自身的U凯雷德L 

督察中央运维时订阅/dubbo/com.s2s.service.Item瑟维斯/目录下的具有提供者和买主UKugaL。

因此dubbo监察和控制大旨,查看到客商和服务提供者

葡萄娱乐场 12

葡萄娱乐场 13

2.载荷均衡

3.命名服务

4.分布式通告和和谐

5.集群众管理制与Master公投

6.布满式锁

    有不菲人用它做布满式锁
不过做法比较底层。临时节点是在一回对话内立见作用,保障了出现至极时,锁能得以释放。比方client1
做布满式操作 那他创设贰个权且节点 然后去做一些别样数据操作 做完操作后,
再去把不经常节点移除。这时c2才干去操作。假若有11个顾客端
要操作同叁个数额,可是那些数目,有四个复制的版本
在不一致的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.Item瑟维斯,
其节点下又有consumers和providers等。

葡萄娱乐场 15葡萄娱乐场 16

劳务提供者运转时向/dubbo/com.s2s.service.ItemService/providers目录下写入U汉兰达L

劳务花费者运维时订阅/dubbo/com.s2s.service.ItemService/providers目录下的UHavalL。
并且向/dubbo/com.s2s.service.ItemService/consumers目录下写入自个儿的U奥德赛L 

督察中央启动时订阅/dubbo/com.s2s.service.ItemService/目录下的持有提供者和买主UENCOREL。

为此dubbo监察和控制中央,查看见客商和劳务提供者

葡萄娱乐场 17

葡萄娱乐场 18

2.载重均衡

3.命名服务

4.布满式通告和和煦

5.集群管理与Master选举

6.分布式锁

    有数不胜数人用它做遍布式锁
然则做法相比较底层。一时节点是在三次对话内有效,保障了出现格外时,锁能得以释放。举例client1
做布满式操作 那她创造二个不常节点 然后去做一些别的数据操作 做完操作后,
再去把有的时候节点移除。那时c2技能去操作。假诺有13个顾客端
要操作同三个数量,可是那个数量,有多少个复制的本子
在分歧的DB当中(当然值是同一)。 这个时候布满式锁的功力就是同步操作。客商端1 操作 那条数据, 那就去zk立时就create个节点 代表占用了那条数据,那时候顾客端2 并发操作那条数据
先去zk上get一下以此节点,get到的话 能够等待一下,等顾客端1
释放掉后,去重新create一下夺回数据。

7.分布式队列

本文首借使设置配备,布满式理论的上学如故相比较好,接下去将会一连享受施行中的收获。

http://www.bkjia.com/Javabc/1292815.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1292815.htmlTechArticleCentos7 Zookeeper,centos7zookeeper
本文版权归博客园和小编刘瑞芳本身共同持有 转发和爬虫请评释原作地址
www.cnblogs.com/tdws 一.写在日前 ZK是三个高…