【Linux】zookeeper集群
来源:互联网 发布:婚礼堵门游戏 知乎 编辑:程序博客网 时间:2024/05/13 22:33
一:概念
zookeeper是一个分布式的,开放源代码的分布式应用程序协调服务。而Apache Hbase和Apache Solr等的分布式集群都用到了zookeeper。zookeeper相当于一个集群管理软件,SolrCloud就需要Solr基于Zookeepe部署,由zookeeper进行协调管理。
二:角色:
Leader:领导者,对于改变系统状态的更新操作,交由Leader进行提议投票,超过半数通过后返回结果给client,它不接受client请求。
Follower:跟随者,服务client请求,对于不改变系统一致性状态的读操作由follower的本地内存数据库直接给client返回结果。
Observer:观察者接受客户端连接,将写请求转发给leader节点。
三:原理:
Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议是Zab协议。Zab协议的两种模式:恢复模式(选主)、广播模式(同步),当服务器启动或者领导者崩溃,Zab进入恢复模式。当领导者被选举出来,且大多数server完成了和leader的状态同步,恢复模式结束。
当leader已经和多数follower进行状态同步后,他就可以开始广播消息了,进入广播状态。广播模式及其类似于分布式事务中的2pc,,即leader提起一个决议,由followers进行投票,leader对投票结果进行计算决定是否通过该决议,通过则执行该事务,不通过则不执行。
四:准备环境:
安装jdk
五:搭建zookeeper集群:
1、集群配置
zookeeper必须是集群才能保证高可用,zookeeper有选举和投票的机制。集群至少有3个节点,所以通常zookeeper由2n+1台servers组成,每个server都知道彼此的存在,只要有n+1台server可用,整个系统保持可用。如下是一个搭建集群的demo,在一台虚拟机上创建三个zookeeper实例(伪分布式),当然,真正情况下各个节点应该在不同的服务器上。
2、搭建步骤:
1、将安装包下载到服务器上、解压、复制
3、配置
zookeeper01文件夹中创建data目录,并且在data目录中创建myid文件,内容为1,zk02为2,zk03为3
进入conf文件,把zoo_sampe.cfg改名为zoo.cfg/或者复制一份,改名为zoo.cfg
修改zoo.cfg:
dataDir=/usr/local/solr-cloud/zookeeper01/data/clientPort=2181
dataDir为myid的路径,这里分别设置三个zookeeper各自的路径
clientPort为端口号:只要不和其他端口号冲突即可,分别为2181、2182、2183
zoo.cfg文件中添加如下内容:
server.1=192.168.246.44:2881:3881server.2=192.168.246.44:2882:3882server.3=192.168.246.44:2883:3883
剩下的两个同理。。。
4、启动zookeeper
5、查看服务状态
- linux Zookeeper集群搭建
- linux搭建zookeeper集群
- 【Linux】zookeeper集群
- Linux安装zookeeper集群
- linux zookeeper 集群搭建
- linux 搭建zookeeper集群
- Zookeeper linux下集群部署
- linux下搭建zookeeper集群
- linux单机 ZooKeeper集群安装
- linux自动化启动集群zookeeper
- Linux 上搭建 Zookeeper集群
- Linux下搭建zookeeper集群
- zookeeper-linux集群搭建小结
- linux上搭建zookeeper集群
- linux实战~zookeeper集群与solr集群
- linux系统下安装zookeeper集群
- linux系统下安装zookeeper集群
- linux上Zookeeper集群安装及监控
- java的枚举
- 最简单的计算机
- 5.一学期的学校
- 拥塞控制
- 【EA教程】——ER图生成数据库
- 【Linux】zookeeper集群
- POJ 1017-Packets
- hdu1527 取石子游戏-威佐夫博奕
- hibernate
- poj3613 Cow Relays
- Hibernate持久化对象的状态(1)
- 关于react-native不能热加载的解决方法
- 将QT窗口嵌入到MFC中的方案
- ios9新特性之关键字