ZooKeeper学习笔记(一)——概述】的更多相关文章

zookeeper学习笔记(一)--概述 1. 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目.zookeeper从设计模式的角度来理解:是一个基于观察者设计模式的分布式服务管理框架,她负责存储和观察大家都关心的数据,然后接收观察者的注册,一旦这些数据的状态发生变化,zookeeper就将负责通知已经在zookeepr上注册的那些观察者做出相应的反应. 2. zookeeper的特点 1)Zookeeper:它是一个由一个leader,多个followe…
ZooKeeper学习笔记 1.   zookeeper基本概念 zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和Habase的重要组件,是为分布式应用提供一致性服务的软件. 2.   zookeeper的特征 2.1. 简易 ZooKeeper的最重要核心就是一个精简文件系统,提供一些简单的操作以及附加的抽象(例如排序和通知). 2.2. 易表达 ZooKeeper的原型是一个丰富的集合,它们是一些已建好的块,可以用来构建大型的协作数据结构和协议,例如:分布…
Zookeeper学习笔记 本篇主要是一些基本的介绍和API的使用介绍, 有些只是记录了知识点,而没有完全在笔记中详细解释, 需要自行查找资料补充相关概念 主要参考了课程中的内容: Zookeeper分布式系统开发实战 Zookeeper 概述 简介: 定义 : 分布式系统, 保证系统高可用, 并且高性能 高性能, 分布式的, 分布应用协调服务 使用文件系统目录树作为数据模型 ZK典型用用场景: 注册订阅 负载均衡 命名服务 分布式协调/通知 集群管理 ZK基本概念: 角色:在集群中的角色 le…
zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化目录节点:客户端与zookeeper断开连接之后,该节点依旧会存在: 持久化顺序编号目录节点:客户端与zookeeper断开连接之后,该节点依旧会存在,只是zookeeper会给该节点名称进行顺序编号: 短暂:客户端和服务端断开连接之后,创建的节点自己删除 临时目录节点:客户端与zookeeper断…
Zookeeper学习笔记(中) Zookeeper的基本原理和基本实现 深入了解ZK的基本原理 ZK的一致性: ZAB 协议: Zookeeper 原子消息广播协议 ZK通过选举保证 leader 的高可用, 三个阶段: * 发现:选举 leader * 同步:Follower 或者 Observer 从 leader 中同步最新数据 * 广播: 服务器角色: * Leader:领导者, 所有更新操作通过 leader 进行 * Follower:跟随者, 有投票权, leader挂了之后有权…
作者:Grey 原文地址:ZooKeeper学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zookeeper.apache.org/doc/r3.6.3/zookeeperStarted.html 单机版的zk只适合用于测试或者开发环境,不适合用于生产环境. 本文主要介绍zk的集群搭建. 环境 CentOS 7 ZooKeeper 3.6.3 准备工作 第一步,准备四个Linux实例,zk01~zk04,我的四个实例的ip分别是: zk01:192.168.205.14…
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往往是通过心跳检测来判断配置的变更,通过zk的回调机制,我们可以实现比心跳更为快速的配置检测机制,包括配置的新增,修改和删除 流程也比较简单: 环境准备 一个zk集权,ip和端口分别为: 192.168.205.145:2181 192.168.205.146:2181 192.168.205.147…
Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项目. 配置依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.6.3</vers…
作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进程不在同一个系统中,用分布式锁控制多个进程对资源的访问. 在单机情况下,可以使用JUC包里面的工具来进行互斥控制. 但是在分布式系统后,由于分布式系统多线程.多进程并且分布在不同机器上,这将使原单机并发控制锁策略失效,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁的…
这是ZK学习笔记的下篇, 主要希望可以分享一些 ZK 的应用以及其应用原理 我本人的学习告一段落, 不过还遗留了一些ZK相关的任务开发和性能测试的任务, 留待以后完成之后再通过其他文章来进行分享了 ZK应用场景: 1. 一个服务多台机器, 快速修改配置 2. 服务的消费者如何动态知道服务有多少个提供者 3. 生产系统部署多少个业务系统以及每个业务系统提供多少接口 ZK案例-配置管理: 服务端: 每次启动, 会将提供的request都注册到 ZK 中 客户端: 启动时读取 ZK 中所有的 serv…
第1章 Zookeeper入门 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.2 特点 1.3 数据结构 1.4 应用场景 提供的服务包括:统一命名服务.统一配置管理.统一集群管理.服务器节点动态上下线.软负载均衡等. 1.5 下载地址 1.官网首页: https://zookeeper.apache.org/ 2.下载截图,如图5-5,5-6,5-7所示 图5-5  Zookeeper下载(一) 图5-6  Zookeeper下载(二)…
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并实现应用的功能.通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 封装应用状态:某些应用数据封装起来,使得视图只能通过接口获取对应的数据 响应状态查询:对应用的状态改变进行处理 暴露应用功能:暴露接口 通…
zookeeper学习 ZooKeeper集合中的节点 让我们分析在ZooKeeper集合中拥有不同数量的节点的效果. 如果我们有单个节点,则当该节点故障时,ZooKeeper集合将故障.它有助于“单点故障",不建议在生产环境中使用. 如果我们有两个节点而一个节点故障,我们没有占多数,因为两个中的一个不是多数. 如果我们有三个节点而一个节点故障,那么我们有大多数,因此,这是最低要求.ZooKeeper集合在实际生产环境中必须至少有三个节点. 如果我们有四个节点而两个节点故障,它将再次故障.类似于…
目录 一.zookeeper介绍 二.Zookeeper安装 一.zookeeper介绍 1.概述   Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目.Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. 2.特点 1)Zookeeper:一个领导者(leader),多个跟随者(follower)组成的集群. 2)Leader负责进行投票的发起和决议,更新系统状态. 3)Fol…
一.μCos-ii _概述 网上关于μCosii的文章多不胜数,本人学习的过程中也参考了很多人的理解和想法,看的是卢有亮老师的<嵌入式实时操作系统-μC/OS原理与实践>(第2版),同时也参考了邵贝贝老师的<嵌入式实时操作系统μCOS-II>,断断续续一个月看了几遍书,也在stm32上简单移植了μCos-ii,这里也谈下自己的理解,如有纰漏,敬请指教. 1.什么是操作系统,为什么要学操作系统? 生活中PC上最常见的无非Windows.Mac OS.Linux等操作系统,移动设备上的…
1.zookeeper简介 zookeeper是Hadoop的子项目,在大型分布式系统中,zookeeper封装好了一些复杂易出错的服务,提供简单易用的接口,给使用者提供高效稳定的服务.这些服务包括配 置维护.名字服务.分布式同步.组服务等.当前zookeeper提供C和Java两种语言的接口,在百度实习期间参与百度开放云项目,中间的需要维护一些统一的配置,zookeeper显然 是首选的开源工具.由于能力受限,经验不足,我在项目中只是使用了zookeeper提供的配置维护的功能,其他功能有待进…
zookeeper的概述: ZooKeeper 本质上是一个分布式的小文件存储系统.提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理.从而用来维护和监控你存储的数据的状态变化.通过监控这些数据状态的变化,从而可以达到基于数据的集群管理.诸如:统一命名服务.分布式配置管理.分布式消息队列.分布式锁.分布式协调等功能. ZooKeeper  特性1. 全局数据一致:每个 server 保存一份相同的数据副本,client 无论连接到哪个 server,展示的数据都是一致…
一.什么是MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型.接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录. MyBatis 目前提供了三种语言实现的版本,包括:Java..NET以及Ruby. MyBatis 通过XML 或注…
Python概述 Python是一种计算机程序设计语言.我们平时已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合网页编程的JavaScript语言等等. Python是一种什么语言? 首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令.而不同的编程语言,干同一个活,编写的代码量,…
引导 刚开始学习ZooKeepter,看的书是[O'Reilly Media] ZooKeeper.下面的内容基本上是该书的翻译,很多语句也存在问题,大致读还是没问题的,自己在学习中记录. 第一章 ZooKeeper的基本概念 一.介绍 在过去,每个应用一般都是在单个机子(单处理器)上运行,现在这一状况已经发生了巨大的变化.在大数据和云计算的世界里,应用程序已经被分成多个独立的模块在不同的服务器上提供服务. 但是这种方式的转变,使得协调这些独立模块的行为比写一个单一程序在单节点上运行要困难的多.…
ZK ID存放路径 /tmp/zookeeper/myid…
我对于XML是很不够重视的,认识也是非常肤浅的,因为在之前的Web经验中,基本上都可以使用JSON来代替XML,JSON网络流量少,解析快,JS支持好等这些特点让我对自己的观点坚信不疑.然而我渐渐地改变了这些观点,最近写了一个基于Spring的服务配置体系,主要思想是将一些常用的服务封装成服务类,预留一些参数接口,然后通过Spring注入这些参数以及服务类之间的各种关系,实现业务逻辑配置化,尽最大可能地实现代码复用.易于维护等,在实际开发以及运用时,Spring配置文件变得越来越大,于是产生了能…
1.安装zookeeper 下载zookeeper后,解压,安装 cd zookeeper-/src/c ./configure make make install 2.启动zookeeper服务 cd zookeeper-/conf mv zoo_sample.cfg zoo.cfg vim zoo.cfg #修改dataDir=/data/database/zookeeper mkdir -p /data/database/zookeeper cd .. zookeeper--cdh5.0.…
作为培训生出生的一员.在培训出来之后如愿的找到了一份能温饱的工作.进来之后告知公司后面的项目需要angular2来搭建. 对于只会jQuery和bootstrap这两招的我来说无疑是一个巨大的挑战,在刚刚进去公司的时刻,分配了一个不大不小的任务完 成之后,决定抽出一点时间来讲angular2拿下,主要根据官方文档进行学习,会敲一些demo,希望这个Blog能见证我学习成 功的一天…
本系列文章介绍以太坊区块链基于Java语言的解决方案.通过介绍EthereumJ定义的主要模块和Class,希望为大家学习和使用EthereumJ提供一些帮助. 整体架构 以太坊的Java解决方案主要是由两个项目来实现的: l  EthereumJ(https://github.com/ethereum/ethereumj),实现了Ethereum定义的核心协议,完成了区块链的核心功能. l  Ethereum Harmony(https://github.com/ether-camp/ethe…
开源客户端 ZkClient <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> package com.xh.zk.zkclient; import org.I0Itec.zkclient.IZkDataLi…
客户端的操作 zkCli.sh 官方文档 ls / [zookeeper] get / cZxid = 0x0 ctime = Thu Jan 01 08:00:00 CST 1970 mZxid = 0x0 mtime = Thu Jan 01 08:00:00 CST 1970 pZxid = 0x0 cversion = -1 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 0 numChildren = 1…
环境搭建 JDK(>1.6)安装 略 Zookeeper安装 1.下载 http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz 2.解压 tar -zxvf zookeeper-3.4.10.tar.gz 3.在zookeeper-xx/conf文件夹下面创建配置文件,可直接复制zoo_sample.cfg cp zoo_sample.cfg zoo.cfg 看看内容: # The number of mi…
参考:从Paxos到Zookeeper分布式一致性原理与实践 从ACID到CAP/BASE ACID 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit). 事务的特性 Atomicity(原子性) 事务中包含的一组操作要么全部成功执行,要么全部不执行 Consistency(一致性) 事务执行前后处于一致性状态 Isolation(隔离性) 并发环境中事物之间不能相互影响 [四个隔离级别] 读未提交 事务B…
下载 首先去官网下载: http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.11/ 然后执行tar -zxvf解压 启动 进入conf目录,拷贝zoo_simple.cfg成zoo.cfg,单机版本不用修改. 直接执行脚本启动服务器: ./zkServer.sh start 然后执行脚本启动客户端:./zkCli.sh 在命令行中输入help,得到结果: [zk: localhost:2181(CONNECTED) 1] help Zo…