zookeeper学习笔记-01
2018-02-05 15:56
281 查看
记录下zookeeper学习笔记,作为以后的工具使用。
主要学习资源来自:
《从Paxos到Zookeeper 分布式一致性原理与实践 》。
极客学院-ZooKeeper 介绍与实战分析 -收费
csdn前辈们的博客,不一一列举。
Leader: 为客户端提供读写服务
Follower:为客户端提供读服务,所有的写服务都要转交给leader; 参与选举
Observer:观察者.参与读服务,不参与选举
2.会话(session)
客户端通过TCP与服务器建立一个连接(Session),通过心跳检测与服务器保持会话,也可向服务器请求获取数据。
可以设置timeout时间,接收服务端watch时间事件通知
3.节点
1).集群中一台服务器称之为一个节点
2).数据模型中数据单元znode:分为持久节点和临时节点(session失效后,临时节点删除)
4.版本
- version:当前znode的版本
- cversion:当前znode的子节点的版本
- aversion:当前Znode的ACL(控制访问)变更版本号
5.watcher
作用于Znode上,
多种事件监听:数据更新,子节点状态等
6.ACL访问权限控制
- CREATE: 创建子节点的权限
- READ: 获取节点数据和子节点列表的权限
- WRITE: 更新节点数据的权限
- DELETE: 删除子节点的权限
- ADMIN: 设置节点ACL的权限
2.服务器启动与检测
3.重点内容
集群环境
单机环境
伪集群环境: 同一台机器部署多个节点(端口号不同)
主要学习资源来自:
《从Paxos到Zookeeper 分布式一致性原理与实践 》。
极客学院-ZooKeeper 介绍与实战分析 -收费
csdn前辈们的博客,不一一列举。
一、zookeeper的基本概念
1.集群角色Leader: 为客户端提供读写服务
Follower:为客户端提供读服务,所有的写服务都要转交给leader; 参与选举
Observer:观察者.参与读服务,不参与选举
2.会话(session)
客户端通过TCP与服务器建立一个连接(Session),通过心跳检测与服务器保持会话,也可向服务器请求获取数据。
可以设置timeout时间,接收服务端watch时间事件通知
3.节点
1).集群中一台服务器称之为一个节点
2).数据模型中数据单元znode:分为持久节点和临时节点(session失效后,临时节点删除)
4.版本
- version:当前znode的版本
- cversion:当前znode的子节点的版本
- aversion:当前Znode的ACL(控制访问)变更版本号
5.watcher
作用于Znode上,
多种事件监听:数据更新,子节点状态等
6.ACL访问权限控制
- CREATE: 创建子节点的权限
- READ: 获取节点数据和子节点列表的权限
- WRITE: 更新节点数据的权限
- DELETE: 删除子节点的权限
- ADMIN: 设置节点ACL的权限
二、zookeeper的搭建安装环境
1.配置(conf/zoo.cfg)1.设置dataDir dataDir=/var/zookeeper 2.配置端口号 server.1d=host:port1:port2 --server.id:id集群中服务器的序号,同时要在$dataDir/下创建myid文件, 文件内容写下id的值即可。 --第一个端口:follower和leader服务器的通信端口 --第二个端口:leader选举过程的投票通信端口
2.服务器启动与检测
./zkServer.sh start --启动 ./zkServer.sh stop --停止 ----检测服务有无启动 telnet ip port 输入:ruok 输出:iamok
3.重点内容
集群环境
单机环境
伪集群环境: 同一台机器部署多个节点(端口号不同)
相关文章推荐
- struts2 拦截器学习笔记01
- python学习笔记(01):python和c语言 标识符命名规则比较
- (原创)c#学习笔记04--流程控制01--布尔逻辑01--布尔赋值运算符
- C算法及PHP学习笔记_01
- 第一天01 JAVA JDK7(学习笔记)
- PyQt5学习笔记01----第一个窗口
- WPF学习笔记(01) - 准备起航
- ZooKeeper学习笔记2
- java学习笔记01--数据类型
- Effective C++学习笔记-01
- MVC4 学习笔记01
- Zookeeper 编程指南官网文档学习笔记
- [知了堂学习笔记]_myBatis_01入门介绍
- ESP8266-01学习笔记01:如何使用USB转串口对ESP-01进行入门调试、烧录固件?
- NodeJs学习笔记_01
- Android源码学习笔记01
- PS学习笔记(01)
- PL/SQL学习笔记_01_基础:变量、流程控制
- php学习笔记01
- [Oracle 学习笔记] 01 使用SQL*Plus