javaweb核心技术

安装zookeeper

2018-09-29  本文已影响6人  上岸之路

下载zookeeper安装包

解压

复制conf下zoo.cfg文件

启动zookeeper sh zkServer.sh start

使用客户端

sh ZkCli.sh 

zookeeper存储方式是key value形式的 创建删除查询修改节点

使用help命令

create 创建  create /orderservice 0  【path】【value】

使用ls /查看我们创建的目录

创建节点wsdl节点

create /orderservice/wsdl  http:192.168.0.1?wsdl

删除必须一层层的删除

delete /orderservice/wsdl 

节点特性

节点要有唯一性,类似于windows创建文件夹D盘下不存在名称相同的同级文件夹

临时节点和持久化节点

有序节点和无序节点

临时节点下不能存在子节点

集群搭建

server.id=ip:port:port

第一个端口:通信用的

第二个端口:选举leader用的

server.1=172.100.23.110:2888:3888

server.2=172.100.20.99:2888:3888

server.3=172.100.23.205:2888:3888

然后在/temp/zookeeper/下创建myid文件

章节回顾

zoo.cfg详解

ticktime 单位毫秒心跳时间

initLimit 10个ticktime

synclimit 5个ticktime  同步时间 leader follower

dataDir 不建议放在tmp文件 存放日志文件

clientPort 对外提供的端口

mZxid 更新事务id
cZxid 创建事务id

假如没有更新数据则这两个id是一样的

pZxid 子节点事务id(子节点变更后才会产生pxid的影响)

version是一个乐观锁的概念通过版本号控制

cversion(当前节点子节点版本号)

dataversion(当前节点数据内容版本号)

aclversion(权限变更版本号)

三个版本号是来控制数据的并发性的

ephemeralOwner 只有临时节点才会存在

例子

ACL 设置访问权限

create/read/write/delete/admin

集群角色

非事务请求可以落到任意节点,如果事务请求落到非leader节点会转发到leader

数据模型

会话

not_connected----------------------connecting--------------connected--------close

zookeeper使用场景

配置中心(基于watcher机制动态感知配置变化)

负载均衡(知道机器状态,选举master)

分布式锁

上一篇下一篇

猜你喜欢

热点阅读