zookeeper 基础学习

zookeeper 概念

zookeeper是一个开源的分布式协调服务,是由雅虎创建的,基于google chubby。

zookeeper是分布式数据一致性的解决方案。

数据的发布/订阅(配置中心:disconf) 、 负载均衡(dubbo利用了zookeeper机制实现负载均衡) 、命名服务、master选举(kafka、hadoop、hbase)、分布式队列、分布式锁。

zookeeper的特性

顺序一致性

从同一个客户端发起的事务请求,最终会严格按照顺序被应用到zookeeper中

原子性

所有的事务请求的处理结果在整个集群中的所有机器上的应用情况是一致的,也就是说,要么整个集群中的所有机器都成功应用了某一事务、要么全都不应用

可靠性

一旦服务器成功应用了某一个事务数据,并且对客户端做了响应,那么这个数据在整个集群中一定是同步并且保留下来的

实时性

一旦服务器成功应用了某一个事务数据,并且对客户端做了响应,那么这个数据在整个集群中一定是同步并且保留下来的

zookeeper安装

单机环境安装

1.下载zookeeper的安装包

http://apache.fayea.com/zookeeper/stable/zookeeper-XXXX.tar.gz

2.解压zookeeper

tar -zxvf zookeeper- XXXX.tar.gz

3.cd 到 ZK_HOME/conf , copy一份zoo.cfg

cp zoo_sample.cfg zoo.cfg

4.sh zkServer.sh

{start|start-foreground|stop|restart|status|upgrade|print-cmd}

5.sh -server ip:port

集群环境

zookeeper集群, 包含三种角色: leader / follower /observer

observer

observer 是一种特殊的zookeeper节点。可以帮助解决zookeeper的扩展性(如果大量客户端访问我们zookeeper集群,需要增加zookeeper集群机器数量。从而增加zookeeper集群的性能。 导致zookeeper写性能下降, zookeeper的数据变更需要半数以上服务器投票通过。造成网络消耗增加投票成本)。

observer不参与投票。 只接收投票结果。

不属于zookeeper的关键部位。

集群配置
1. 修改配置文件

server.id=host:port:port(id的取值范围: 1~255; 用id来标识该机器在集群中的机器序号)

server.1=192.168.11.129:2888:3181

server.2=192.168.11.131:2888:3181

server.3=192.168.11.135:2888:3181

2.默认端口

2181是zookeeper 默认的客户端连接端口

2888是zookeeper的端口; //3306 fllower与leader之间信息交换端口

3181表示leader选举的端口 // 如果leader挂掉需要通过fllower进行选举新的leader使用的端口

3.创建myid

在每一个服务器的dataDir目录下创建一个myid的文件,文件就一行数据,数据内容是每台机器对应的server ID的数字

4.启动zookeeper
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值