Hadoop生态体系简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MapReduce(V2)的工作组件
Hive简介
• 项目起源:让精通SQL技能的分析师能够对 Facebook存放在HDFS中的大规模数据集进行 查询 • 基于MapReduce,即Hive将SQL查询编译成 MapReduce任务,然后在Hadoop集群上运行
Hive join的一个例子
• select u.name, o.orderid from order o join user u on o.uid = u.uid;
• Paxos算法是莱斯利· 兰伯特(英语:Leslie Lamport,LaTeX中的“La”)于1990年提出的一 种基于消息传递且具有高度容错特性的一致性 算法 • 解决因进程慢、垮、重启,以及消息可能延迟、 丢失、重复的场景下,确保分布式系统中各节点 就某个变量的取值达成一致
Paxos的约束
HDFS复本位置示意
分布式计算框架MapReduce
• 原理——分而治之
一个最简单的例子-WordCount
MapReduce的数据流示意图
Map阶段
• Client计算输入文件分片 • Maptask读取这个分片的内容,执行用户的mapper方法 • map输出的结果会暂且放在一个环形内存缓冲区中,达 到指定比率(默认80%)会写入磁盘 • 写入前,会根据reduce的数量对key进行分区(partition), 然后对每个分区里的数据进行排序,如果有combiner,将 排序后的结果进行combine操作 • 最后把生成的多个文件合并成一个有序的文件
Hadoop发行版本
• • • • Cloudera Hadoop (CDH) Hortonworks Data Platform (HDP) MapR Intel
Hadoop生态体系结构
分布式文件系统HDFS
客户端读取HDFS中的数据
客户端将数据写入HDFS
HDFS复本如何存放
• 在运行客户端的节点上放第一个复本 • 第二个复本放在与第一个不同且随机另外选择 的机架中的节点上 • 第三个复本与第二个复本放在同一个机架上, 且随机选择另一个节点
Hive优化技巧
原语句:SELECT COUNT( DISTINCT id ) FROM TABLE_NAME 由于语句没有group by,hive只在一个reduce处理数据 改写为:SELECT COUNT(*) FROM (SELECT DISTINCT id FROM TABLE_NAME) T
ZooKeeper工作示意
其他组件
• • • • PIG HUE Cloudera Manager Impala
推荐博客、微信公众号
• 董西成的博客 (http://dongxicheng.org/) • 微信公众号hadoop123
谢谢
互联网数据与传统行业数据的特征对比
特征 数据密度 传统行业 高 互联网行业 低
结构化数据
一般是
一般不是
数据载体
IOE架构(集中式)
“屌丝机”+Linux(分布式)
为什么选择Hadoop
• Hadoop的设计需求
高度可扩展性 (High Scalability) 高可用性 (High Availability) 容错性 (Fault Tolerance) 高效性 (High Performance) 低成本 (Low cost)
• Jobtracker负责作业调度和任务进度监控 ,追Biblioteka Baidu任务、重启失败或过慢的任务和进 行任务等级,例如维护计数器总数。在节 点数超过4000的大型集群,面临可扩展 性的瓶颈
资源调度系统YARN
资源调度系统YARN
• Resource Manager (RM)负责管理集群的container分 配 • Node Manager管理每个节点上的资源和任务,主要有 两个作用,定期向RM汇报该节点的资源使用情况和各 个container的运行状态,接收并处理AM的任务启动、 停止等请求 • Application Master (AM),每个应用专属,负责该应用 下任务的调度和协调 • 每个container可看做是一个资源的封装实体,包括 CPU资源和内存资源
HBase简介
• Hbase是一个在HDFS上开发的面向列的分布式数据库 • 表可以很“高”(数十亿个数据行),表可以很“宽”(数百 万个列) • 非RDBMS • 没有真正的索引 • 自动分区 • 线性扩展和对新节点的自动处理 • 容错 • 批处理
Hbase的架构
Hbase的使用
ZooKeeper的理论基石-Paxos
Reduce阶段
• • • • Reduce通过http从NodeManager下载map输出数据 如果文件比较小,会写到内存里,否则输出到磁盘 最后把接收到的文件合并起来输入reduce 执行用户reducer方法,结果输出到hdfs
MapReduce(V1)的工作组件
MapReduceV1的缺点
Hadoop生态体系简介
By Ivan
提纲
• • • • • • • • 为什么选择Hadoop Hadoop生态体系结构 分布式文件系统HDFS 分布式计算框架MapReduce 资源调度系统YARN 基于类SQL的数据分析工具Hive 分布式数据库HBase 分布式协调服务ZooKeeper
为什么选择Hadoop
• P1:一个acceptor必须接受(accept)第一次收到的提案 • P2:一旦一个具有value v的提案被批准(chosen),那 么之后批准(chosen)的提案必须具有value v • P2a:一旦一个具有value v的提案被批准(chosen),那 么之后任何acceptor再次接受(accept)的提案必须具 有value v • P2b:一旦一个具有value v的提案被批准(chosen),那 么以后任何proposer提出的提案必须具有value v