ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、命名服务、分布式同步、组服务等。

Zookeeper的Fast Fail 和 Leader选举特性大大增强了分布式集群的稳定和健壮性,并且解决了Master/Slave模式的单点故障重大隐患,这是越来越多的分布式产品如HBase、Storm(流计算)、S4(流计算)等强依赖Zookeeper的原因。

Zookeeper在分布式集群(Hadoop生态圈)中的地位越来越突出,对分布式应用的开发也提供了极大便利,这是迫切需要深入学习Zookeeper的原因。

学习注意

1.存储数据数据
  保存stom集群的全部数据,可监控整个数据变化,整个集群和作业。
  轻量级数据库,
  文件系统的目录结构,每个路径都有node节点作为唯一标识,可以存储小数据,状态,acl,版本
  节点数据变化,触发Watches事件,通知到每个客户端,一次性触发,需设置下一个通知
  临时节点不会带子节点。连接断掉会自动消失。

2.不存在单点故障。快速失败模式,短时间内自动修复,提供稳定服务

3.分布式应用的配置管理

4.命名服务
  每个节点全局是唯一路径,序列化的节点,默认的命名规范
5.分布式通知和协调
  用了Watches机制,节点数据发生变化,通知到其他观察者。实现不同系统对数据变更的实时处理,不同系统对zk同一节点进行注册
6.分布式锁:
  用对象锁,控制应用执行顺序。
  保证数据强一致性,控制时序
  相信每时每刻,zk节点数据对各个客户端一定是相同的
7.分布式队列
  先进先出,等队列成员聚齐才开始执行(增加了分布式锁)

课程大纲:

第1讲 .Zookeeper熟悉和用途综述
  Zookeeper基础知识、体系结构、数据模型
  常见的应用场景

第2讲.Zookeeper集群搭建、命令行Client操作

  集群搭建和测试
  命令行客户端操作
  Stat
第3讲、Watches、Node、API介绍、Java Client开发Watches、Node详解
  API介绍
  Java Client开发
第4讲、Java Client 进阶练习

  进阶练习
  授权操作

第5讲、实战案例开发一之配置管理

  配置管理的案例开发

第6讲、实战案例开发二分布式锁实现

  分布式锁的原理及实现

第7讲、运维指南及注意事项

  日常维护注意事项
  配置参数详解
  4字命令详解
第8讲、运维和监控Web平台搭建和使用

  Taokeeper搭建和使用
  TaoKeeper提供Web界面,可对Zookeeper集群进行多方面监控,如连接数、Watcher数、集群运行状态、磁盘内存CPU使用率等全方位监控,并提供告警接口。

ZooKeeper_基础知识学习的更多相关文章

  1. GCC基础知识学习

    GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...

  2. (转)Linux基础知识学习

    Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...

  3. Objective-c基础知识学习笔记

    Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...

  4. AXAJ基础知识学习

    AXAJ基础知识学习 博客首页 Ajax简介 ajxa全称是Asynchronous Javascript And XML ,就是异步的JS 和XML 通过Ajax可以再浏览器中向服务器发送异步请求, ...

  5. Vue2基础知识学习

    Vue2基础知识学习 01.初识 new Vue({ el: '#root', //用于指定当前Vue实例为哪个容器服务,值通常为css选择器符 data () { return { } } }); ...

  6. C#基础知识学习

    C#基础知识整理 学习地址:http://blog.csdn.net/column/details/csarp.html

  7. 韩天峰博客 php基础知识学习记录

    http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...

  8. 〖前端开发〗HTML/CSS基础知识学习笔记

    经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> & ...

  9. Linq的简介和基础知识学习

    学习LINQ之前,我们要知道LINQ是干什么,解决什么问题的,怎样学习? 一.LINQ简介 1.什么是LINQ? 什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated ...

随机推荐

  1. RPD Volume 172 Issue 1-3 December 2016 评论03

    Using Stable Free Radicals to Obtain Unique and Clinically Useful Data In Vivo in Human Subjects Abs ...

  2. mysql 列转行,合并字段的方法

    数据表(表名:xsk) +----+------+-----------+-------+ | id | name| course | score | +----+------+----------- ...

  3. 【最大流】【Dinic】bzoj2929 [Poi1999]洞穴攀行

    TMD 题意其实是与1或n相连的边只能走一次,其他可以走无限次……翻译去死. 裸最大流. #include<cstdio> #include<cstring> #include ...

  4. 金融应用,计算将来的学费 Exercise05_07

    /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:金融应用,计算将来的学费 * */ public class Exercise05_07 { public static vo ...

  5. 实用类String.length应用-用户名密码长度

    package demo3; import java.util.Scanner; //会员注册,用户名长度不小于3,密码长度不小于6,两次输入的密码必须相同 public class Register ...

  6. Why DNS Based Global Server Load Balancing (GSLB) Doesn’t Work

    Why DNS Based Global Server Load Balancing (GSLB) Doesn't Work    

  7. 推荐一些不错的开源免费易上手的web前端框架

    1. bui 2.Semantic UI 3.oniui

  8. 关于group by后为每个分组编号

  9. Java集合迭代器 Iterator分析

    简介 迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式. Iterator 在java中,迭代器 ...

  10. http://www.binghe.org/2010/03/use-httpsurlconnection-in-java/

    http://www.binghe.org/2010/03/use-httpsurlconnection-in-java/