我是靠谱客的博主 痴情枕头,最近开发中收集的这篇文章主要介绍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

最后

以上就是痴情枕头为你收集整理的zookeeper 基础学习的全部内容,希望文章能够帮你解决zookeeper 基础学习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部