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. [BZOJ2823][BZOJ1336][BZOJ1337]最小圆覆盖(随机增量法)

    算法介绍网上有很多,不解释了. 给出三点坐标求圆心方法:https://blog.csdn.net/liyuanbhu/article/details/52891868 记得先random_shuff ...

  2. [BZOJ 2743] 采花

    Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2743 Algorithm: 此题询问区间内出现次数超过1个的数字 明显在线做无从下手,无 ...

  3. [ZOJ3522]Hide and seek

    题意:给一棵带边权的树,多次询问$(x,y,l)$表示如果加一条连接$x$和$y$的长为$l$的边,所有点到$x$和到$y$的最短路减少了多少 先把题目中的图放上来(雾 考虑用lct维护,先把路径提出 ...

  4. HOW TO CHECK FOR ACTIVE TRACE FLAGS ON MICROSOFT SQL SERVER

    http://crashmag.net/how-to-check-for-active-trace-flags-on-microsoft-sql-server You check for active ...

  5. Linux内核转发技术

    前言 在linux内核中,通常集成了带有封包过滤和防火墙功能的内核模块, 不同内核版本的模块名称不同, 在2.4.x版本及其以后的内核中, 其名称为iptables, 已取代了早期的ipchains和 ...

  6. Error (10663): Verilog HDL Port Connection error at led_demo.v(6): output or inout port "led" must be connected to a structural net expression

    错误现象:

  7. 支付宝签名验证实现-Delphi版

    支付宝签名验证实现-Delphi版 首先介结下支付宝签名验证流程: 一  支付宝密钥生成 支付宝提供秘钥生成工具https://docs.open.alipay.com/291/105971/ 用此下 ...

  8. 【转】谈基于SOA的应用系统设计和开发

    注:在网上看到这篇文档,觉得写得很好,清晰实用.该博客其它文章也写得不错     地址:http://blog.sina.com.cn/s/blog_493a84550101gswn.html 现在对 ...

  9. Linux下获取本机IP地址的代码

    Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串. #define ETH_NAME "eth0" //获得本机IP地址 char* GetLocalAdd ...

  10. nfs mount 故障 mount.nfs: access denied by server while mounting 10.0.100.208:/backup_usb

    生产环境: 服务端centos7.2,客户端:ubuntu16.04 挂载出现的故障: root@HDCtrl100:/mnt# mount -t nfs 10.0.100.208:/backup_u ...