概述
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
最后
以上就是痴情枕头为你收集整理的zookeeper 基础学习的全部内容,希望文章能够帮你解决zookeeper 基础学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复