Hadoop大数据开发实例教程:分布式协调服务——ZooKeeper技术PPT教学课件.pptx
分布式协调服务——ZooKeeper技术077.1了解ZooKeeper7.2ZooKeeper的安装与配置7.3ZooKeeperShell7.4基于JavaAPI的监听和CURD7.5实训7部署并应用ZooKeeper模块8分布式数据库——HBase技术
知道ZooKeeper的架构和数据模型;掌握ZooKeeper的安装与配置;掌握ZooKeeper的Shell操作;能利用JavaAPI对节点进行基本操作。1243本模块首先对ZooKeeper进行了介绍,随后在单机模式和伪分布式模式环境下进行了ZooKeeper分布式协调服务的安装与配置,基于搭建好的ZooKeeper环境进行了基于ZooKeeperShell和JavaAPI的基本应用操作,其间还通过打包的方式进行了节点监听操作。通过本模块的学习,读者将达到以下职业能力目标和要求:目标和要求ZooKeeper技术
7.1了解ZooKeeperZooKeeper是一个高可用的分布式数据管理与协调服务开源框架,是ApacheHadoop的一个子项目。ZooKeeper基于ZAB(ZooKeeperatomicbroadcast,ZooKeeper原子广播),实现了主备模式下的系统架构,保持分布式集群中各个副本之间的数据一致性。ZooKeeper本质上是一个分布式的小文件存储系统。在ZooKeeper中,zode是一个与Linux文件系统路径相似的节点,可以通过这个节点存储或获取数据,ZooKeeper可以对树中的节点进行有效管理。通过监控存储的数据状态变化,达到基于数据的集群管理。7.1.1ZooKeeper简介
7.1了解ZooKeeper7.1.1ZooKeeper简介ZooKeeper具有以下5个特性:特性(1)全局数据一致性(2)可靠性(3)顺序性(4)数据更新原子性(5)实时性
7.1了解ZooKeeper7.1.2ZooKeeper架构ZooKeeper集群由一组Server节点和若干Client组成,Server数目一般为奇数,当服务器启动或在Leader崩溃后,都将通过FastLeaderElection算法从实例中选举一个Leader,选举和递增的事务ID(ZXID)和myid有关。当Client执行写操作时,所有的写请求都会先被转发到Leader上,ZooKeeper基本架构如图7-1所示。图7-1ZooKeeper基本架构
7.1了解ZooKeeper7.1.2ZooKeeper架构Server节点中存在一个Leader、若干Follower或Observer,Client则为请求发起方,关于ZooKeeper角色及功能描述如表7-1所示。表7-1ZooKeeper角色及功能描述
7.1了解ZooKeeper7.1.3ZooKeeper数据模型ZooKeeper采用层次化的目录结构,命名符合常规文件系统规范,每个目录在ZooKeeper中称为Znode,并且其有一个唯一的路径标识(需要采用绝对路径方式),构成一个层次化的命名空间,如图7-2所示。图7-2ZooKeeper数据模型
7.1了解ZooKeeper7.1.3ZooKeeper数据模型Znode有临时的(ephemeral)和持久的(persistent)两种类型,在创建时就会确定,且之后不能再修改。1.Znode类型VS(1)临时节点:(2)持久节点:ephemeralZnode的客户端会话结束时,ZooKeeper会将该临时节点删除,临时节点不可以有子节点。persistentZnode不依赖于客户端会话,只有当客户端明确要删除该持久节点时才会被删除。
7.1了解ZooKeeper7.1.3ZooKeeper数据模型2.Znode节点Znode可以包含数据和子Znode,如果Znode下存在多个数据版本,则查询这个路径时需要带上版本号,Znode的读写是一次性完整的读写。同时客户端可以通过设置监视器(Watcher)来进行应用的扩展功能开发。
7.2ZooKeeper的安装与配置ZooKeeper的安装有3种方式,分别是单击模式、伪分布模式和完全分布模式。前往ZooKeeper官网/或者相关网站(如/dist/zookeeper/)下载ZooKeeper3.6.0安装包,如图7-3所示。图7-3ZooKeeper官网下载页面
7.2ZooKeeper的安装与配置Java环境的配置已经在“2.1.4安装并配置JDK”中进行过讲解,如需配置,请参考对应知识点。7.2.1单机模式安装与配置1.配置Java环境
7.2ZooKeeper的安装与配置7.2.1单机模式安装与配置2.