zookeeper--知识点

一、zookeeper是分布式数据管理与协调框架,不适合存储大量数据,基础paxos算法 --主从选举

(原子消息广播协议),zookeeper一般都是集群存在,奇数个节点

1、顺序一致性

按照发起的顺序应用到zookeeper

客户端发送消息给zookeeper,消息遵循原子消息广播,消息都同步后才会返回客户端,会加锁,这个时候其他客户端不能操作这条消息,如果多个zookeeper节点间消息同步未成功,例如网络不通的时候,就会返回失败

2、原子性

3、单一视图

4、可靠性

扫描二维码关注公众号,回复: 9062121 查看本文章

zookeeper 将全量数据存储在内存中,针对非事务效率非常高

一半节点挂掉的时候就不对外提供服务了

zookeeper 是以简单的树形结构来进行相互协调,类似于一个标准的文件系统,

角色

leader

follower

observer

二、应用场景

配置管理     配置文件的动态变更

集群管理

发布与订阅

数据库切换

分布式锁,队列管理等

分布式日志收集

(数据量比较小,数据内容在运行时动态发生变化,集群中各个节点共享信息配置一致)

curator 框架  操作zookeeper 的框架

三、安装

解压到/usr/local/下

tar -zxvf zookeeper-3.4.5.tar.gz -C /usr/local/

zookeeper-3.4.5目录 移动到zookeeper

mv zookeeper-3.4.5/ zookeeper

也可以在后面这个地址下载  http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

如果链接打不开,就先打开 http://mirror.bit.edu.cn/apache/zookeeper , 再选择版本。

更改zoo_sample.cfg  改成zoo.cfg

修改zoo.cfg

dataDir=/mnt/soft/zookeeper-3.4.5/data

/etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.13/

export PATH=$PATH:$ZOOKEEPER_HOME/bin

source /etc/profile

[root@localhost local]# cd /usr/local/zookeeper-3.4.13/bin
[root@localhost bin]# ./zkServer.sh start
./zkServer.sh status
默认端口2181
客户端
[root@localhost bin]# ./zkCli.sh

配置文件参数

zookeeper命令

ls  /path   查找

create /path value      创建并赋值,不能重复创建,创建成功返回path,不允许递归创建节点,如果父节点不存在

create /path/path

get /path  获取

set /path  value  设值      value可以时 字符串  或文件,如果是文件的  存的是内容,或是二进制字节码

rmr /path  递归删除节点

delete /path/child   删除指定某个节点

四、java客户端调用

zookeeper客户端和服务器端会话的建立是一个异步的过程

一般用curator 调用客户端

节点类型

1、持久节点

2、持久顺序节点

3、临时节点       可以利用临时节点创建分布式锁   ,只在当前会话中有效,会话结束   path则消失

4、临时顺序节点

zookeeper 原始API

不允许递归创建节点

节点内容必须时字节数组,不支持序列化,如果需要序列化,可使用第三方框架   hessian,kryo










 
 
 

猜你喜欢

转载自www.cnblogs.com/jentary/p/12291115.html