云计算(第三版)配套之20第6章Hadoop20大家族(一)_第1页
云计算(第三版)配套之20第6章Hadoop20大家族(一)_第2页
云计算(第三版)配套之20第6章Hadoop20大家族(一)_第3页
云计算(第三版)配套之20第6章Hadoop20大家族(一)_第4页
云计算(第三版)配套之20第6章Hadoop20大家族(一)_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布式存储效劳分布式操作系统效劳分布式数据库分布式锁数据挖掘库Hadoop2.0大家族……本章主要介绍分布式环境下除Hadoop外的其他组件6.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小结6.1Hadoop2.0大家族概述6.1.1分布式组件6.1.2部署概述46.1Hadoop2.0大家族概述组件简介1ApacheZooKeeper主要是用来解决多个分布式应用遇到的互斥协作与通信问题,大大简化分布式应用协调及其管理的难度。分布式、开源的协调效劳2ApacheHbase高可靠性、高性能、面向列、可伸缩。可在廉价PCServer上搭建大规模结构化存储集群。分布式存储系统3ApachePig提供类SQL类型语言,该语言的编译器会把用户写好的Pig型类SQL脚本转换为一系列经过优化的MR操作并负责向集群提交任务。基于Hadoop的大规模数据分析工具4ApacheHive将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MR统计,适合数据仓库的统计分析。基于Hadoop的一个数据仓库工具56.1Hadoop2.0大家族概述组件简介5ApacheOozie用于管理和协调运行在Hadoop平台上各种类型任务〔HDFS、Pig、MR、Shell,Java等〕。工作流引擎效劳6ApacheFlume可用于日志数据收集、处理和传输,功能类似于Chukwa,但比Chukwa更小巧实用。分布式日志数据聚合与传输工具7ApacheMahout提供了大量机器学习算法的MR实现,并提供了一系列工具,简化了从建模到测试流程。基于Hadoop的分布式程序库8ApacheSqoop将一个关系型数据库〔MySQL、Oracle、Postgres等〕中的数据导入Hadoop的HDFS中,也可以将HDFS的数据导入关系型数据库中。数据相互转移的工具66.1Hadoop2.0大家族概述组件简介9ApacheCassandra用于存储简单格式数据,集GoogleBigTable的数据模型与AmazonDynamo的完全分布式的架构于一身。一套开源分布式NoSQL数据库系统10ApacheAvro用于大批量数据实时动态交换,它是新的数据序列化与传输工具,估计会逐步取代Hadoop原有的RPC机制。数据序列化系统11ApacheAmbari提供Hadoop集群的部署、管理和监控等功能,为运维人员管理Hadoop集群提供了强大的Web界面。Hadoop及其组件的Web工具12ApacheChukwa它可以将各种各样类型的数据收集与导入Hadoop。分布式的数据收集与传输系统76.1Hadoop2.0大家族概述组件简介13ApacheHama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。基于HDFS的BSP并行计算框架14ApacheGiraph灵感来自BSP(BulkSynchronousParallel)和Google的Pregel。基于Hadoop的分布式迭代图处理系统15ApacheCrunch用于创立MR程序,与Hive、Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库。基于Google的FlumeJava库编写的Java库16ApacheWhirr提供高度的互补性,Whirr支持AmazonEC2和Rackspace效劳。一套运行于云效劳的类库86.1Hadoop2.0大家族概述组件简介17ApacheBigtop解决组件间版本依赖、冲突问题,实际上当用户用rpm或yum方式部署时,脚本内部会用到它。针对Hadoop及其周边组件的打包、分发和测试工具18ApacheHCatalog可用于管理HDFS元数据,它跨越Hadoop和RDBMS,可以利用Pig和Hive提供关系视图。基于Hadoop的数据表和存储管理工具19ClouderaHue实现对HDFS、Yarn、MapReduce、Hbase、Hive、Pig等的Web化操作。Hadoop及其生态圈组件的Web编辑工具96.1Hadoop2.0大家族概述组件分类1分布式存储HDFS2分布式操作系统Yarn3分布式处理算法MapReduce4分布式锁效劳ZooKeeper5分布式数据库Hbase6分布式锁效劳OozieCassandra7高层语言PigHiveImpalaRHadoop8机器学习库MahoutGiraphHamaRHadoop9元数据与表管理工具Hcatalog10数据传输工具FlumeAvroChukwaSqoop11集群管理工作AmbariClouderaManager12各组件的Web化编辑器Hue13组件间版本依赖处理工具BigTop106.1Hadoop2.0大家族概述组件分类Hadoop生态圈分类Ambari/CloudderaManagerHueMapReducePigHiveImpalaFlumeSqoopAvroChukwaMahoutRGiraphHamaHbaseCassandraWhirrSearchWebHdfsHcatalogYarn:分布式操作系统BigTopHDFS:分布式存储ZooKeeperHcatalog6.1Hadoop2.0大家族概述6.1.1分布式组件6.1.2部署概述126.1Hadoop2.0大家族概述部署过程Apache社区版分布式组件部署步骤:部署前提与规划下载与此Hadoop版本兼容版本的Pig解压,配置Pig按需将解压且配置好的Pig发送到需要部署的机器上新建相应用户、文件夹等,并赋予适宜权限136.1Hadoop2.0大家族概述部署过程商业版〔Cloudera或Hortonworks〕部署步骤:部署前提与规划部署,配置Pig新建相应存储目录,并赋予适宜权限。社区版部署须解决版本兼容与本地权限文件的问题,烦琐易错;Cloudera版本身已经解决了版本与权限问题,并且其部署时只要使用标准的Linux安装命令并做些中文配置即可。146.1Hadoop2.0大家族概述部署规划集群共五台机器,cMaster为主节点,cProxy为主节点代理,其他为Slave节点,注意iClient并不属于集群,用户还须确保集群中所有机器和iClient都可以连网。系统CentOS-6.464bitJDKjdk-7u45-linux-x64.rpm集群cMaster、cSlave0、cSlave1、cSlave2、cProxy客户端iClient执行例题的机器iClient执行例题时用户joe156.1Hadoop2.0大家族概述部署规划

机器组件cMastercSlave0cSlave1cSlave2cProxyiClientHadoopmasterslaveslaveslaveproxyHadoopClientHbasemasterslaveslaveslave

HbaseClientZooKeeper

ZooKeeperZooKeeperZooKeeper

ZooKeeperClientPig

PigHive

HiveFlumeFlume汇

Flume源OozieOozie

ClientMahout

Mahout166.1Hadoop2.0大家族概述商用版Hadoop部署准备软硬件环境1下载Cloudera的rpm文件2将rpm文件复制到各CentOS3安装rpm文件4176.1Hadoop2.0大家族概述商用版Hadoop部署

cMastercSlave0cSlave1cSlave2cProxyiClientHDFSnamenodedatanodedatanodedatanodehistoryserverproxyserverhadoopclientYarnresourcemanagernodemanagernodemanagernodemanagerHadoop部署规划5Hadoop包含HDFS和Yarn两大效劳,其中HDFS主效劳称为namenode进程,应当运行在master机上,HDFS从效劳运行datanode进程,正常部署在slave机器上,并且每个slave运行一个datanode186.1Hadoop2.0大家族概述商用版Hadoop部署安装Hadoop6配置HDFS7建立本地目录8格式化存储主节点9启动HDFS效劳10建立HDFS相关目录11配置Yarn12建立本地目录13启动Yarn效劳14Web界面与进程信息156.1Hadoop2.0大家族概述6.2ZooKeeper6.3Hbase6.4Pig6.5Hive6.6Oozie6.7Flume6.8Mahout6.9小结6.2ZooKeeper6.2.1ZooKeeper简介6.2.2ZooKeeper入门21ZooKeeper服务机器A中进程Pa机器B中进程Pb6.2ZooKeeperZooKeeper工作过程ZooKeeper提供了松耦合交互方式,即交互双方不必同时存在,也不用彼此了解。比方Pa在ZooKeeper中留下一条消息后,进程Pa结束,此后进程Pb才刚开始启动。Pa产生这条消息后将此消息注册到ZooKeeper中,Pb需要这条消息时直接从ZooKeeper中读取即可。22ZooKeeper2ZooKeeper1ZooKeeper3ZooKeeper服务客户端1客户端26.2ZooKeeperZooKeeper工作过程集群方式提高ZooKeeper可靠性236.2ZooKeeperZooKeeper工作原理ZooKeeper2ZooKeeper1ZooKeeper3ZooKeeper服务首先会从中选择一个作为领导者,其他那么作为追随者。ZooKeeper集群内选取领导时,内部采用的是原子播送协议,此协议是对Paxos算法的修改与实现。集群中ZooKeeper个数必须以奇数出现〔3、5、7、9…〕,并且当构建ZooKeeper集群时,最少需3个节点。读操作在各个节点上实现写操作必须发送到领导者,并经领导者同意才可执行6.2ZooKeeper6.2.1ZooKeeper简介6.2.2ZooKeeper入门256.2ZooKeeperZooKeeper部署1.部署前提2.部署规划3.下载并安装ZooKeeper效劳4.初始化ZooKeeper5.配置ZooKeeper6.启动ZooKeeper效劳7.查看ZooKeeper是否部署成功266.2ZooKeeperZooKeeper接口ZooKeeper主要提供了Shell接口和编程接口,其中Shell接口提供了管理ZooKeeper最常用的操作,编程接口那么更加灵活,比方使用ZooKeeper实现上文所述的两进程Pa与Pb通信等。【例6-2】按要求完成问题:分别使用命令行接口和API接口,在ZooKeeper存储树中新建一节点并存入信息。假设机器cSlave0上有进程Pa,机器cSlave2上有进程Pb,使用ZooKeeper实现进程Pa与Pb相互协作。①②276.2ZooKeeperZooKeeper接口对于问题①用ZooKeeper命令行接口,在根目录〔/〕下新建节点cstorShell,并存入信息chinaCstorShell使用API时,程序具有更大的灵活性对于问题②不防假设cSlave0上进程Pa向ZooKeeper

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论