• zoo.cfg配置文件
  1. tickTime=2000  :zookeeper中最小的时间单位长度 (ms)。
  2. initLimit=10  :follower节点启动后与leader节点完成数据同步的时间。
  3. syncLimit=5 :leader节点和follower节点进行心跳检测的最大延时时间。
  4. dataDir=/tmp/zookeeper  :表示zookeeper服务器存储快照文件的目录。
  5. dataLogDir :表示配置 zookeeper事务日志的存储路径,默认指定在dataDir目录下。
  6. clientPort :表示客户端和服务端建立连接的端口号: 2181。
  • zookeeper中的一些概念
  • 数据模型:zookeeper的数据模型和文件系统类似(树结构,无限级),每一个节点称为:znode.  是zookeeper中的最小数据单元。每一个znode上都可以保存数据和挂载子节点。 从而构成一个层次化的属性结构。
  • 节点特性:
  1. 持久化节点  : 节点创建后会一直存在zookeeper服务器上,直到主动删除。
  2. 持久化有序节点 :每个节点都会为它的一级子节点维护一个顺序。
  3. 临时节点 : 临时节点的生命周期和客户端的会话保持一致。当客户端会话失效,该节点自动清理。
  4. 临时有序节点 : 在临时节点上多勒一个顺序性特性。
  • 会话:未连接状态-------->     连接中状态 ------------>        已连接状态------------->     断开状态

  • zookeeper命令操作
sh zkServer.sh  start  //bin目录下启动服务

sh zkCli.sh -server localhost:2181   //连接到客户端

ls /  //查看目录

help    //查看命令

    • create [-s] [-e] path data acl

-s 表示节点是否有序

-e 表示是否为临时节点

默认情况下,是持久化节点
    • get path [watch]

获得指定 path的信息
    • set path data [version]

修改节点 path对应的data

乐观锁的概念:数据库里面有一个 version 字段去控制数据行的版本号
    • delete path [version]

删除节点
  • watcher:zookeeper提供了分布式数据发布/订阅,zookeeper允许客户端向服务器注册一个watcher监听。当服务器端的节点触发指定事件的时候会触发watcher,服务端会向客户端发送一个事件通知。watcher的通知是一次性,一旦触发一次通知后,该watcher就失效。
  • ACL:zookeeper提供控制节点访问权限的功能,用于有效的保证zookeeper中数据的安全性。避免误操作而导致系统出现重大事故。CREATE /READ/WRITE/DELETE/ADMIN。
  • 数据节点stat的信息

cversion = 0       子节点的版本号

aclVersion = 0     表示acl的版本号,修改节点权限

dataVersion = 1    表示的是当前节点数据的版本号

czxid    节点被创建时的事务ID

mzxid   节点最后一次被更新的事务ID

pzxid    当前节点下的子节点最后一次被修改时的事务ID

ctime = Sat Aug 05 20:48:26 CST 2017

mtime = Sat Aug 05 20:48:50 CST 2017

ephemeralOwner = 0x0   创建临时节点的时候,会有一个sessionId 。 该值存储的就是这个sessionid

dataLength = 3    数据值长度

numChildren = 0  子节点数

  • 数据存储:内存数据和磁盘数据
  1. zookeeper会定时把数据存储在磁盘上。
  2. DataDir = 存储的是数据的快照:快照: 存储某一个时刻全量的内存数据内容
  3. DataLogDir 存储事务日志

上图命名格式:log.zxid

  • 查看事务日志的命令:java -cp :/opt/zookeeper-3.4.10/lib/slf4j-api-1.6.1.jar:/opt/zookeeper-3.4.10/zookeeper-3.4.10.jar  org.apache.zookeeper.server.LogFormatter log.3
  • zookeeper 有三种日志
  1. zookeeper.out  :运行日志。
  2. 快照  :存储某一时刻的全量数据。
  3. 事务日志 :事务操作的日志记录。

zookeeper:3的更多相关文章

  1. 《从Paxos到Zookeeper:分布式一致性原理与实践》【PDF】下载

    内容简介 Paxos到Zookeeper分布式一致性原理与实践从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议. ...

  2. zookeeper:2

    单机环境下安装: 下载地址:http://apache.fayea.com/zookeeper/stable/ 解压zookeeper :tar -zxvf zookeeper-3.4.10.tar. ...

  3. zookeeper:1

    分布式环境的特点 分布性:多台机器位置不同,但是相互协同做某一件事情. 并发性:程序运行过程中,并发性操作是很长见的.比如:同一个分布式系统中的多个节点,同时访问一个共享资源.(数据库,分布式存储) ...

  4. ZooKeeper:第三方客户端 ZKClient

    ZKClient ZKClient的设计 ZKClient组件说明 重要的处理流程说明 启动ZKClient 为节点注册Watcher ZooKeeper的变更操作 客户端处理变更 序列化处理 ZKC ...

  5. ZooKeeper:Java客户端网络处理

    了解ZooKeeper客户端的实现,对于使用ZooKeeper的客户端非常重要. 通过对客户端源码的阅读,了解了如下信息: 创建ZooKeeper对象时,应会创建一个ClientCnxn(代表了客户端 ...

  6. ZooKeeper:数据模型

    ZooKeeper数据模型 ZNode ZNode 分类 Stat Watcher Watcher工作原理 Watcher事件说明 Watcher注册 事件发布 示例 ZooKeeper 数据模型 整 ...

  7. ZooKeeper:Quick Start

    下载.安装与配置 下载地址 安装 配置 ZooKeeper bin目录下脚本说明 Server 启动.停止 客户端操作 使用简易客户端访问 使用Java客户端访问 使用开源客户端ZkClient访问 ...

  8. Zookeeper:分布式程序的基石

    一.目录 1.zookeeper是什么? 2.安装.配置.启动.监控 3.javaApi基础用法 4.应用场景 5.CAP理论/paxos算法 二.zookeeper简介 官方版:zookeeper是 ...

  9. ZooKeeper:win7上安装单机及伪分布式安装

    zookeeper是一个为分布式应用所设计的分布式的.开源的调度服务,它主要用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用,协调及其管理的难度,提高性能的分布式服务. 本章的目的:如何 ...

随机推荐

  1. LeetCode_191. Number of 1 Bits

    191. Number of 1 Bits Easy Write a function that takes an unsigned integer and return the number of ...

  2. Centos7安装php5.6并配置php-fpm协同工作

    yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum in ...

  3. LODOP中纸张高度不定超文本和纯文本对比

    关于纸张高度不定的小票打印,建议使用纯文本进行设计,避免纸张高度引起变形,或超文本解析差异造成一些影响:LODOP纸张高度不定的纯文本累计高度 上面的链接的博文里,纯文本可通过间距和高度值累计,得出最 ...

  4. 【c# 学习笔记】多态

    由于可以继承基类的所有成员,子类就都有了相同的行为,但是有时子类的某些行为需要相互区别,子类需要覆写父类中的方法来实现子类特有的行为,这样 的技术在面向对象的编程中就是多态. 多态即相同类型的对象调用 ...

  5. WebGL半透明物体的绘制

    WebGL 中当透明和半透明物体共存时,相关设置不正确的话,物体表面会出现破碎杂乱的断面,非常影响效果,我们接着就来解决这个问题. 完成的展示Demo请看: 半透明物体和透明物体共存 α 混合 让物体 ...

  6. Python爬取链家二手房源信息

    爬取链家网站二手房房源信息,第一次做,仅供参考,要用scrapy.   import scrapy,pypinyin,requests import bs4 from ..items import L ...

  7. (1) laravel php artisan list make

    php artisan list make Laravel Framework 5.4.36 Usage: command [options] [arguments] Options: -h, --h ...

  8. 最新 小红书java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.小红书等10家互联网公司的校招Offer,因为某些自身原因最终选择了小红书.6.7月主要是做系统复习.项目复盘.LeetCo ...

  9. maven 依赖 无法下载到jar包,典型的json-lib包

    <dependency>            <groupId>net.sf.json-lib</groupId>            <artifact ...

  10. java——值传递和引用传递

    值传递 在方法被调用时,实参通过形参把它的内容副本传入方法内部,此时形参接收到的内容是实参值的一个拷贝,因此在方法内对形参的任何操作,都仅仅是对这个副本的操作,不影响原始值的内容. 先来看个例子: p ...