大数据开发之zookeeper简介

首先安装hadooper必须安装zookeeper。

zookeeper在hadoop生态圈中起的非常重要的作用,一句话就是ZooKeeper是分布式系统中的协调系统。
浅谈zookeeper:zookeeper是什么?
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,
是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:
配置维护、域名服务、分布式同步、组服务等。
zookeeper的特点
简单
ZooKeeper的核心是一个精简的文件系统,它支持一些简单的操作和一些抽象操作,例如,排序和通知。
丰富
ZooKeeper的操作是很丰富的,可实现一些协调数据结构和协议。例如,分布式队列、分布式锁和一组同级别节点中的“领导者选举”。
高可靠
ZooKeeper支持集群模式,可以很容易的解决单点故障问题。
松耦合交互
不同进程间的交互不需要了解彼此,甚至可以不必同时存在,某进程在ZooKeeper中留下消息后,该进程结束后其它进程还可以读这条消息。
资源库
ZooKeeper实现了一个关于通用协调模式的开源共享存储库,能使开发者免于编写这类通用协议。
zookeeper扮演的角色
领导者(leader):负责进行投票的发起和决议,更新系统状态。
学习者(learner):包括跟随者(follower)和观察者(observer)
follower:用于接受客户端请求并向客户端返回结果,在选举过程中参与投票。
Observer:可以接受客户端连接,将写请求转发给leader,但observer不参与投票过程,只同步leader的状态,observer的
目的是为了扩展系统,提高读取速度。
客户端(client):请求发起方。
zookeeper的数据模型
层次化的目录结构,命名符合常规文件系统规范
每个节点在zookeeper中叫做znode,并且其有一个唯一的路径标识
节点znode可以包含数据和子节点,但是EPHEMERAL类型的节点不能有子节点
znode中的数据可以有多个版本,比如某一个路径下存有多个数据版本,那么查询这个路径下的数据就需要带上版本
客户端应用可以在节点上设置监视器
节点不支持部分读写,而是一次性完整读写
zookeeper的节点类型
ZooKeeper节点znode有两种类型,临时节点(ephemeral)和持久节(persistent)。znode的类型在创建时确定并且之后不能再修改。
ephemeral节点在客户端会话结束时,将会被zookeeper删除,并且ephemeral节点不可以有子节点。
persistent节点不依赖与客户端会话,只有当客户端明确要删除该persistent节点时才会被删除。
目前znode有四种形式的目录节点,PERSISTENT、PERSISTENT_SEQUENTIAL、EPHEMERAL、EPHEMERAL_SEQUENTIAL
znode可以是临时节点,一旦创建这个znode的客户端与服务器失去联系,这个znode也将自动删除,
ZooKeeper的客户端和服务器通信采用长连接方式,每个客户端和服务器通过心跳来保持连接,
这个连接状态称之为session,如果znode是临时节点,这个seesion失效,znode也就删除了;持久化目录节点,这个目录节点存储的数据不会丢失;顺序自动编号的目录节点,这种目录节点会更具当前已经存放在的节点数自动加1,然后返回给客户端已经成功创建的目录节点名;临时目录节点,一旦创建这个节点的客户端和服务器端口也就是session超时,这种节点会被自动删除。

原文地址:http://blog.51cto.com/13759650/2118702

时间: 2024-10-09 08:14:05

大数据开发之zookeeper简介的相关文章

大数据开发之linux平台基础

大数据讲解:======================================== 大数据技术: 大数据存储 大数据计算 大数据组件搭建在Linux上的 Linux:======================================== 是操作系统内核 Linux发行版: ubuntu //高校教学 redhat //红帽Linux //非免费 centos //企业用 //稳定 deepin debian 麒麟 Windows发行版: xp win7 win8 win10

大数据开发之keras代码框架应用

总体来讲keras这个深度学习框架真的很"简易",它体现在可参考的文档写的比较详细,不像caffe,装完以后都得靠技术博客,keras有它自己的官方文档(不过是英文的),这给初学者提供了很大的学习空间. 在此做下代码框架应用笔记 class VGGNetwork: def append_vgg_network(self, x_in, true_X_input): return x #x is output of VGG def load_vgg_weight(self, model):

大数据学习笔记1--hadoop简介和入门

Hadoop简介: 分布式.可扩展.可靠的.分布式计算框架. 组件: common:公共组件 hdfs:分布式文件系统 yarn:运行环境 mapreduce:mr计算模型 生态系统: Ambari:操作界面 avro:通用的序列化机制.与语言无关 cassandra:数据库 chukwa:数据收集系统 hbase:分布式大表数据库 hive:基于sql的分析系统 matout:机器学习算法库 pig:脚本语言 spark:快速通用的计算引擎,主要用于迭代计算 tez:数据流框架 zookeep

出一套高端大气上档次的大数据开发面试题(刷起来!!!)

一千个读者眼中有一千个哈姆雷特,一千名 大数据 程序员心目中就有一千套 大数据面试题.本文就是笔者认为可以用来面试大数据 程序员的面试题. 这套题的题目跟公司和业务都没有关系,而且也并不代表笔者本人可以把这些题回答得非常好,笔者只是将一部分觉得比较好的题从收集的面试题里面抽出来了而已. 收集的面试题有以下三个来源: 笔者在准备面试的过程中搜集并整理过的面试题. 笔者在准备面试的过程中自己思考过的新题. 笔者在面试过程中遇到的觉得比较好的题. 好了不说废话了 上~~~~~~~题~~~~~~~~~

大数据hadoop之zookeeper

一.ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示. 图 1.1 ZooKeeper解决单点故障 那么我们继续分析一下,ZooKeeper通过Master选举来帮助分布式系统解决单点故障,保证该系统中每时每刻只有一个Master为分布式系统提供服务.也就是说分布式的单点问题交给了ZooKeeper来处理,不知道大家此时有没有发现一个问题——"故障转移到了ZooKeeper

【Andorid开发框架学习】之Mina开发之Mina简介

今天我将介绍 Apache MINA的基本概念和 API,包括 I/O服务.I/O 会话.I/O 过滤器和 I/O 处理器. 一.MINA的简介 Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序.它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API. 二.什么是NIO? Java NIO,非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上

大数据生态之zookeeper(API)

在使用maven项目编写zookeeper程序时导入相关的jar包: <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.10</version> </dependency> 1.创建集群连接 //集群节点节点,之间使用逗号隔开 static String url

iOS开发之socket简介

1,socket是什么? 2,socket的作用 3,socket怎么用 4,socket的扩展 —————————————————————— socket是什么? Socket这个名词现在有很多不同的意思,这里主要讲到其中2个含义.一是,套接字socket=(IP地址:端口号),是端的概念.二是,socket在应用层和传输层之间,是层的概念. 要理解socket是什么,首先要理解网络的分层结构,目前internet广泛使用的TCP/IP模型,总结起来网络模型分为四层,从上层往下依次为:应用层.

(数据挖掘)大数据Flume+kafka+zookeeper+Strom/Spark/Fink......

图中黑点代表求婚注册者.假如是一个程序员 原文地址:https://www.cnblogs.com/curedfisher/p/12340087.html