高级培训-20.《云计算(第三版)》配套PPT之二十:第6章 Hadoop 2.0 大家族(一)3
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
6.1 Hadoop 2.0大家族概述
组件分类
Ambari/Clouddera Manager Hue
Map Reduce
Pig Hive Impala
Flume Sqoop Avro Chukwa
Mahout R Giraph Hama
Hbase Cassandra
Whirr Search
WebHdfs Hcatalog
21
6.2 ZooKeeper ZooKeeper工作过程
ZooKeeper 服务
ZooKeeper2
ZooKeeper1
ZooKeeper3
客户端1
客户端2
22
集群方式
提高ZooKeeper可靠性
6.2 ZooKeeper
ZooKeeper工作原理
ZooKeeper 服务
ZooKeeper2
ZooKeeper1
ZooKeeper3
读操作 在各个节点上实现
写操作
必须发送到领导者, 并经领导者同意才可执行
首先会从中选择一个作为领导者,其他则作为追随者。
ZooKeeper集群内选取领导时,内部采用的是原子广播协议,此协议是对 Paxos算法的修改与实现。
集群中ZooKeeper个数必须以奇数出现(3、5、7、9…),并且 当构建ZooKeeper集群时,最少需3个节点。
分布式存储系统
高可靠性、高性能、面向列、可伸缩。可在廉价PC Server上搭建大规模结构化
存储集群。
3 Apache Pig
基于Hadoop的大规模数据分析工具
提供类SQL类型语言,该语言的编译器会把用户写好的Pig型类SQL脚本转换为 一系列经过优化的MR操作并负责向集群提交任务。
4 Apache Hive
cMaster
cSlave0
cSlave1
cSlave2 cProxy iClient
HDFS Yarn
namenode resourcemanager
datanode nodemanager
datanode nodemanager
datanode nodemanager
historyse rver
16 Apache Whirr
一套运行于云服务的类库
提供高度的互补性,Whirr支持Amazon EC2和Rackspace服务。
7
6.1 Hadoop 2.0大家族概述 组件简介
17 Apache Bigtop 针对Hadoop及其周边组件的打包、分发和测试工具
解决组件间版本依赖、冲突问题,实际上当用户用rpm或yum方式部署时,脚 本内部会用到它。
7.查看ZooKeeper是否部署成功
25
6.2 ZooKeeper
ZooKeeper接口
ZooKeeper主要提供了Shell接口和编程接口,其中Shell接口提供了管理 ZooKeeper最常用的操作,编程接口则更加灵活,比如使用ZooKeeper实现上 文所述的两进程Pa与Pb通信等。
【例6-2】按要求完成问题:
数据相互转移的工具
将一个关系型数据库(MySQL 、Oracle 、Postgres等)中的数据导入 Hadoop的HDFS中,也可以将HDFS的数据导入关系型数据库中。
5
6.1 Hadoop 2.0大家族概述
组件简介
9 Apache Cassandra
一套开源分布式NoSQL数据库系统
用于存储简单格式数据,集Google BigTable的数据模型与Amazon Dynamo 的完全分布式的架构于一身。
18 Apache HCatalog 基于Hadoop的数据表和存储管理工具
可用于来自百度文库理HDFS元数据,它跨越Hadoop和RDBMS,可以利用Pig和Hive提供 关系视图。
19 Cloudera Hue
Hadoop及其生态圈组件的Web编辑工具
实现对HDFS、Yarn、MapReduce、Hbase、Hive、Pig等的Web化操作。
8
6.1 Hadoop 2.0大家族概述
组件分类
1 分布式存储 HDFS
2 分布式操作系统 Yarn
3 分布式处理算法 MapReduce 4 分布式锁服务 ZooKeeper
5 分布式数据库 Hbase Cassandra 6 分布式锁服务 Oozie 7 高层语言 Pig Hive Impala RHadoop
Hadoop 2.0 大家族
本章主要介绍分布式环境下除Hadoop外的其他组件
分布式存储服务 分布式操作系统服务 分布式数据库 分布式锁 数据挖掘库 … …
6.1 Hadoop 2.0大家族概述 6.2 ZooKeeper 6.3 Hbase 6.4 Pig 6.5 Hive 6.6 Oozie 6.7 Flume 6.8 Mahout 6.9 小结
6.2 ZooKeeper
ZooKeeper工作过程
Pa产生这条消息后将此消息注册到ZooKeeper中,Pb需要这条消息时直接从 ZooKeeper中读取即可。
ZooKeeper 服务
机器A中 进程Pa
机器B中 进程Pb
ZooKeeper提供了松耦合交互 方式,即交互双方不必同时存 在,也不用彼此了解。 比如Pa在ZooKeeper中留下一 条消息后,进程Pa结束,此后 进程Pb才刚开始启动。
proxyser ver
hadoop client
17
6.1 Hadoop 2.0大家族概述 商用版Hadoop部署
6 安装Hadoop
11 建立HDFS相关目录
7 配置HDFS
12 配置Yarn
8 建立本地目录
13 建立本地目录
9 格式化存储主节点
14 启动Yarn服务
10 启动HDFS服务
15 Web界面与进程信息
10 Apache Avro
数据序列化系统
用于大批量数据实时动态交换,它是新的数据序列化与传输工具,估计会逐步
取代Hadoop原有的RPC机制。
11 Apache Ambari
Hadoop及其组件的Web工具
提供Hadoop集群的部署、管理和监控等功能,为运维人员管理Hadoop集群提 供了强大的Web界面。
Yarn: 分布式操作系统
BigTop
Hcatalog
HDFS: 分布式存储
ZooKeeper
Hadoop生态圈分类
10
6.1 Hadoop 2.0大家族概述
6.1.1 分布式组件 6.1.2 部署概述
6.1 Hadoop 2.0大家族概述
部署过程
Apache社区版分布式组件部署步骤: 部署前提与规划
6 Apache Flume
分布式日志数据聚合与传输工具
可用于日志数据收集、处理和传输,功能类似于Chukwa,但比Chukwa更小巧
实用。
7 Apache Mahout
基于Hadoop的分布式程序库
提供了大量机器学习算法的MR实现,并提供了一系列工具,简化了从建模到测 试流程。
8 Apache Sqoop
下载与此Hadoop版本兼容版本的Pig
解压,配置Pig
按需将解压且配置好的Pig发送到需要部署的机器上
新建相应用户、文件夹等,并赋予合适权限
12
6.1 Hadoop 2.0大家族概述 部署过程
商业版(Cloudera或Hortonworks)部署步骤: 部署前提与规划
部署,配置Pig
新建相应存储目录,并赋予合适权限。 社区版部署须解决版本兼容与本地权限文件的问题,烦琐易错; Cloudera版本身已经解决了版本与权限问题,并且其部署时只要使用标准的 Linux安装命令并做些中文配置即可。
8 机器学习库 Mahout Giraph Hama RHadoop
9 元数据与表管理工具 Hcatalog
10 数据传输工具 Flume Avro Chukwa Sqoop
11 集群管理工作 Ambari Cloudera Manager 12 各组件的Web化编辑器 Hue 13 组件间版本依赖处理工具 BigTop
iClient iClient
joe
14
6.1 Hadoop 2.0大家族概述 部署规划
组件
机器 cMaster
Hadoop
master
cSlave0
slave
cSlave1
slave
cSlave2
slave
cProxy
proxy
Hbase
master
slave
slave
slave
ZooKeeper
①
分别使用命令行接口和API接口,在ZooKeeper存储树中新建一节点并 存入信息。
②
假设机器cSlave0上有进程Pa,机器cSlave2上有进程Pb,使用 ZooKeeper实现进程Pa与Pb相互协作。
26
6.2 ZooKeeper ZooKeeper接口
对于问题① 用ZooKeeper命令行接口,在根目录(/)下新建节点cstorShell,并存入信息 chinaCstorShell 使用API时,程序具有更大的灵活性 对于问题②
6.1 Hadoop 2.0大家族概述
6.1.1 分布式组件 6.1.2 部署概述
6.1 Hadoop 2.0大家族概述
组件简介
1 Apache ZooKeeper 分布式、开源的协调服务
主要是用来解决多个分布式应用遇到的互斥协作与通信问题,大大简化分布式 应用协调及其管理的难度。
2 Apache Hbase
18
6.1 Hadoop 2.0大家族概述 6.2 ZooKeeper 6.3 Hbase 6.4 Pig 6.5 Hive 6.6 Oozie 6.7 Flume 6.8 Mahout 6.9 小结
6.2 ZooKeeper
6.2.1 ZooKeeper简介 6.2.2 ZooKeeper 入门
Pig Hive Flume Oozie Mahout
Flume汇 Oozie
ZooKeeper ZooKeeper ZooKeeper
15
iClient
Hadoop Client
Hbase Client
ZooKeeper Client
Pig Hive Flume源 Client Mahout
6.1 Hadoop 2.0大家族概述 商用版Hadoop部署
1 准备软硬件环境 2 下载Cloudera的rpm文件 3 将rpm文件复制到各CentOS 4 安装rpm文件
16
6.1 Hadoop 2.0大家族概述 商用版Hadoop部署
5 Hadoop部署规划
Hadoop包含HDFS和Yarn两大服务,其中HDFS主服务称为namenode进程,应当 运行在master机上,HDFS从服务运行datanode进程,正常部署在slave机器上, 并且每个slave运行一个datanode
基于Hadoop的一个数据仓库工具
将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MR 统计,适合数据仓库的统计分析。
4
6.1 Hadoop 2.0大家族概述
组件简介
5 Apache Oozie
工作流引擎服务
用于管理和协调运行在Hadoop平台上各种类型任务(HDFS、Pig、MR、Shell, Java等)。
12 Apache Chukwa
分布式的数据收集与传输系统
它可以将各种各样类型的数据收集与导入Hadoop。
6
6.1 Hadoop 2.0大家族概述 组件简介
13 Apache Hama
基于HDFS的BSP并行计算框架
可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
14 Apache Giraph
基于Hadoop的分布式迭代图处理系统
灵感来自BSP (Bulk Synchronous Parallel) 和Google 的Pregel。
15 Apache Crunch
基于Google的FlumeJava库编写的Java库
用于创建MR程序,与Hive、Pig类似,Crunch提供了用于实现如连接数据、执 行聚合和排序记录等常见任务的模式库。
13
6.1 Hadoop 2.0大家族概述
部署规划
集群共五台机器,cMaster为主节点,cProxy为主节点代理,其他为Slave节点, 注意iClient并不属于集群,用户还须确保集群中所有机器和iClient都可以连网。
系统 JDK 集群 客户端 执行例题的机器 执行例题时用户
CentOS-6.4 64bit jdk-7u45-linux-x64.rpm cMaster、cSlave0、cSlave1、cSlave2、cProxy
23
6.2 ZooKeeper
6.2.1 ZooKeeper简介 6.2.2 ZooKeeper 入门
6.2 ZooKeeper ZooKeeper部署
1.部署前提
2.部署规划
3.下载并安装ZooKeeper服务
5.配置ZooKeeper
4.初始化ZooKeeper
6.启动ZooKeeper服务