zookeeper集群

Windows安装和使用zookeeper

此生再无相见时 提交于 2019-11-27 00:21:49
之前整理过一篇文章《 zookeeper 分布式锁服务 》,本文介绍的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/ 来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的Windows安装和配置. 首先需要安装JdK,从Oracle的Java网站下载,安装很简单,就不再详述。 单机模式 单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:C:\zookeeper-3.4.5\下,Zookeeper 的启动脚本在 bin 目录下,Windows 下的启动脚本是 zkServer.cmd。 在你执行启动脚本之前,还有几个基本的配置项需要配置一下,Zookeeper 的配置文件在 conf 目录下,这个目录下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是将 zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。下面详细介绍一下,这个配置文件中各个配置项的意义。 # The number of milliseconds of each tick tickTime=2000 # The number of

solrCloud+tomcat+zookeeper集群配置

﹥>﹥吖頭↗ 提交于 2019-11-27 00:21:00
http://www.tuicool.com/articles/NNjAFr 概述: SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。 它有几个特色功能: 1)集中式的配置信息 2)自动容错 3)近实时搜索 4)查询时自动负载均衡 安装zookeeper 上面也说了 SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,所有要部署solrCloud+tomcat+zookeeper的集群,必须先安装zookeeper 安装环境: Liux: CentOS release 6.4 JDK:1.7.0_55 因为我研究的是solr最新的版本,所以研究的是solr4.8.0然后solr4.8.0必须跑在jdk1.7以上的版本 1、zookeeper是个什么玩意? 答:顾名思义zookeeper就是动物园管理员,他是用来管hadoop(大象)、Hive(蜜蜂)、pig(小猪)的管理员, Apache Hbase和 Apache Solr 的分布式集群都用到了zookeeper;Zookeeper:是一个分布式的、开源的程序协调服务,是hadoop项目下的一个子项目; 2、zookeeper伪集群安装 因为我演示的这套安装是单机版的安装,所以采用伪集群的方式进行安装,如果是真正的生成环境

zookeeper

不打扰是莪最后的温柔 提交于 2019-11-27 00:01:34
ZooKeeper是什么? 高可用的高性能的分布式系统协调服务。局部不可用是分布式系统的固有特征,ZooKeeper可以很好的地处理这种情况。 下面从三个方面来理解ZooKeeper服务:数据模型、操作、实现 数据模型 可以把zookper看成一个文件系统,文件系统中的所有文件形成一个数状结构,zookeeper维护着这样的树形层次结构,树中的节点称为znode。每个znode有一个与之相关联的ACL(Access Control List)。这种数据模型示意图如下: znode通过路径被引用,而且要采用绝对路径,即必须以/开头。znode存储的数据要<1m。 znode类型   短暂znode:回话结束,zookeeper就会把短暂znode删除,短暂znode不可以有子节点。   持久znode:回话结束也不会被删除,除非客户端明确要删除此znode,持久znode可以有子节点。 对于在特定时刻需要知道有哪些分布式资源可用的应用来说,使用短暂znode比较合适。 znode的观察机制 znode以某种方式发生变化时,“观察”(watch)机制可以让客户端得到通知。可以针对ZooKeeper服务的“操作”来设置观察,该服务的其他操作可以触发观察。比如,客户端可以对某个客户端调用exists操作,同时在它上面设置一个观察,如果此时这个znode不存在,则exists返回false

Zookeeper-Zookeeper的配置

限于喜欢 提交于 2019-11-27 00:00:39
前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象。本文只关注分布式模式的zookeeper,因为这也是在生产环境的唯一部署方式,单机的zookeeper可以在测试和开发环境使用,但是单机环境的zookeeper就不再是zookeeper了。 安装配置很简单,官网也有介绍,这里就只对后面的文章有提到的点说明下。 配置-zoo.cfg 这是zookeeper的主要配置文件,因为Zookeeper是一个集群服务,集群的每个节点都需要这个配置文件。为了避免出差错,zoo.cfg这个配置文件里没有跟特定节点相关的配置,所以每个节点上的这个zoo.cfg都是一模一样的配置。这样就非常便于管理了,比如我们可以把这个文件提交到版本控制里管理起来。其实这给我们设计集群系统的时候也是个提示:集群系统一般有很多配置,应该尽量将通用的配置和特定每个服务的配置(比如服务标识)分离,这样通用的配置在不同服务之间copy就ok了。ok,下面来介绍一些配置点: clientPort=2181 client port,顾名思义,就是客户端连接zookeeper服务的端口。这是一个TCP port。 dataDir=/data dataLogDir=/datalog

Zookeeper笔记(一)初识Zookeeper

爱⌒轻易说出口 提交于 2019-11-26 22:54:34
为什么需要Zookeeper Zookeeper是一个典型的分布式数据一致性的解决方案, 分布式应用程序可以基于它实现诸如 数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列 等功能。 在解决分布式数据一致性上,Zookeeper已经成为了目前唯一一个比较成熟的方案。 Zookeeper致力于提供一个高性能、高可用,且具有严格的顺序访问控制能力的分布式协调服务。 设计目标 简单的数据结构 冗余,可以构建集群 有序访问 高性能 系统角色 Zookeeper没有沿用传统的Master/Slave模式,使用了Leader、Follwer、Obserfver三种角色。 Zookeeper Atomic Broadcast Zookeeper原子消息广播协议 ZAB的核心定义了那些会改变Zookeeper服务器数据状态的事务请求的处理方式: 所有事务请求必须由一个全局唯一的服务器来协调处理,这样的服务器被称为Leader服务器,而余下的其他服务器则成为Follower服务器。 Leader将一个服务请求转换成一个Proposal,然后将这个Proposal分发给集群中其他的Follwer,然后等待Follower处理Proposal的反馈,当超过一定比例的Follower服务器发出正确的反馈后,Leader会发出Commit消息

Zookeeper学习之路 (一)初识

落爺英雄遲暮 提交于 2019-11-26 22:54:20
本文引用自 http://www.cnblogs.com/sunddenly/p/4033574.html 引言   Hadoop 集群当中 N 多的配置信息如何做到全局一致并且单点修改迅速响应到整个集群? --- 配置管理   Hadoop 集群中的 namonode 和 resourcemanager 的单点故障怎么解决? --- 集群的主节点的单点故障 分布式协调技术   在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调 度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这些进程全部是跑在一台机上的话,相对来说确实就好办了,问 题就在于他是在一个分布式的环境下,这时问题又来了,那什么是分布式呢?这个一两句话我也说不清楚,但我给大家画了一张图希望能帮助大家理解这方面的内 容,如果觉得不对尽可拍砖,来咱们看一下这张图,如图1.1所示。   给大家分析一下这张图,在这图中有三台机器,每台机器各跑一个应用程序。然后我们将这三台机器通过网络将其连接起来,构成一个系统来为用户提供服务,对用户来说这个系统的架构是透明的

Zookeeper-Zookeeper client

帅比萌擦擦* 提交于 2019-11-26 22:54:06
当我写完Zookeeper leader选举后,准备看看Zookeeper的存储和处理客户端请求的时候发现,如果能看看Zookeeper的API是不是在理解后面的过程更好些呢。 Zookeeper的client是通过Zookeeper类提供的。前面曾经说过,Zookeeper给使用者提供的是一个类似操作系统的文件结构,只不过这个结构是分布式的。可以理解为一个分布式的文件系统。我们可以通过Zookeeper来访问这个分布式的文件系统。 Zookeeper的client api给我们提供以下这些API: 1. create 在给定的path上创建节点,这个path就像文件系统的路径,比如/myapp/data/1,在创建节点的时候还可以指定节点的类型:是永久节点,永久顺序节点,临时节点,临时顺序节点。这个节点类型是非常强大的。永久节点一经创建就永久保留了,就像我们在文件系统上创建一个普通文件,这个文件的生命周期跟创建它的应用没有任何关系。而临时节点呢,当创建这个临时节点的应用与zookeeper之间的会话过期之后就会被zookeeper自动删除了。这个特性是实现很多功能的关键。比如我们做集群感知,我们的应用启动的时候将自己的ip地址作为临时节点创建在某个节点下面。当我们的应用因为某些原因,比如网络断掉或者宕机,它与zookeeper的会话就会过期了,过期后这个临时节点就删除了

HBase详解

对着背影说爱祢 提交于 2019-11-26 20:19:55
一、 简介 history started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become Apache top-level project and Hbase becomes subproject 2008.10 Hbase 0.18,0.19 released hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。 与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 HBase中的表一般有这样的特点: 1 大:一个表可以有上亿行,上百万列 2 面向列:面向列(族)的存储和权限控制,列(族)独立检索。 3 稀疏:对于为空(null)的列,并不占用存储空间,因此

zookeeper题目

一曲冷凌霜 提交于 2019-11-26 17:10:36
1. ZooKeeper是什么? 2. ZooKeeper提供了什么? 3. Zookeeper文件系统 4. ZAB协议? 5. 四种类型的数据节点 Znode 6. Zookeeper Watcher 机制 -- 数据变更通知 7. 客户端注册Watcher实现 8. 服务端处理Watcher实现 9. 客户端回调Watcher 10. ACL权限控制机制 11. Chroot特性 12. 会话管理 13. 服务器角色 14. Zookeeper 下 Server工作状态 15. Leader 选举 16. 数据同步 17. zookeeper是如何保证事务的顺序一致性的? 18. 分布式集群中为什么会有Master? 19. zk节点宕机如何处理? 20. zookeeper负载均衡和nginx负载均衡区别 21. Zookeeper有哪几种几种部署模式? 22. 集群最少要几台机器,集群规则是怎样的? 23. 集群支持动态添加机器吗? 24. Zookeeper对节点的watch监听通知是永久的吗?为什么不是永久的? 25. Zookeeper的java客户端都有哪些? 26. chubby是什么,和zookeeper比你怎么看? 27. 说几个zookeeper常用的命令。 28. ZAB和Paxos算法的联系与区别? 29. Zookeeper的典型应用场景 30

zookeeper

佐手、 提交于 2019-11-26 16:49:26
功课: 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。 Atomic(原子性) Consistency(一致性) Isolation(隔离性) Durability(持久性) CAP 原则又称CAP定理,指的是在一个分布式系统中, 一致性 (Consistency)、 可用性 (Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。 一致性(C):在 分布式系统 中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本) 可用性(A):在集群中一部分节点故障后, 集群 整体是否还能响应 客户端 的读写请求。(对数据更新具备高可用性) 分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。 简介: 它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等 zookeeper=文件系统+监听通知机制 ZooKeeper是一个分布式小文件系统,并且被设计为高可用性。通过选举算法和集群复制可以避免单点故障3,由于是文件系统