Hadoop之分布式存储HDFS和离线计算
本课程是进入“大数据”的一个入口,需要掌握HDFS 的基本原理,知道为什么它可以存储海量数据,知道“百度网盘”本身是什么?同时,侧重对MapReduce的原理实现,并以项目案例应用为贯穿主线,包含天气温度分析、好友推荐系统、搜索排名系统、电商商品推荐系统等。附以源码分析让学生来更清晰的理解何为分布式计算,计算的并行、计算的向数据移动、计算的本地化数据读取等。
199
¥399
  • 28.8h

    课程时长
  • 17017

    学习人数
  • 24个月

    课程有效期
课程参数
教学服务
  • 随到随学
  • 课程源码
  • 随堂笔记
Apache Hadoop软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理。Hadoop被设计成能够从单台服务器扩展到数以千计的服务器,每台服务器都有本地的计算和存储资源。Hadoop的高可用性并不依赖硬件,其代码库自身就能在应用层侦测并处理硬件故障,因此能基于服务器集群提供高可用性的服务。
为什么学习Hadoop?
Hadoop是一个开源的[分布式计算 + 分布式存储平台],是一个大数据的基础架构,基于此进行开发

Haddop能做什么?

它能搭建大型数据仓库,PB级别数据的存储、处理、分析、统计等业务。

主要的使用场景如:

• 搜索引擎数据分析

• 海量日志分析【一般这个场景多】

• 商业智能【数据报表的呈现】

• 数据挖掘【沙子里淘金】

Hadoop的核心就是HDFS和MapReduce

Hadoop旗下有很多经典子项目,比如HBase、Hive等,这些都是基于

HDFS和MapReduce发展出来的。

要想了解Hadoop,就必须知道HDFS和MapReduce是什么?

• HDFS: 为海量的数据提供了存储

• MapReduce:为海量的数据提供了计算

可以学到哪些内容?
HDFS、MapReduce体系架构

Client:切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。

NameNode:Master节点,在hadoop1.X中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。

DataNode:Slave节点,存储实际的数据,汇报存储信息给NameNode。

Secondary NameNode:辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但Secondary NameNode并非NameNode的热备。

HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。

JobTracker:Master节点,只有一个,管理所有作业,作业/任务的监控、错误处理等;将任务分解成一系列任务,并分派给TaskTracker。

TaskTracker:Slave节点,运行Map Task和Reduce Task;并与JobTracker交互,汇报任务状态。

Map Task:解析每条数据记录,传递给用户编写的map(),并执行,将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。

educer Task:从Map Task的执行结果中,远程读取输入数据,对数据进行排序,将数据按照分组传递给用户编写的reduce函数执行。

MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。
HDFS与MapReduce组件介绍

HDFS

HDFS Client:进行文件的分块与文件的发送读取。

Namespace image:记录每个文件的存在位置信息。

Edit log:记录每个文件的位置移动信息。

Namenode(Master):

管理着每个文件中各个块所在的数据节点的位置信息。

Secondary Namenode:更新并备份Namenode。

Datanode(Slave):

记录着服务器内所储存的数据块的列表。

MapReduce

JobClient:

用于把用户的作业任务生成Job的运行包,并存放到HDFS中。

JobinProgress:

把Job运行包分解成MapTask和ReduceTask并存放于TaskTracker中。

JobTracker(Master):

进行调度管理TaskTracker执行任务。

TaskTracker(Slave):

执行分配下来的Map计算或Reduce计算任务

Hadoop学习路线
全方面覆盖十四大知识点
  • 01 hadoop-大数据启蒙-初识HDFS;
  • 02 hadoop-HDFS理论基础读写流程;
  • 03 hadoop-HDFS集群搭建-伪分布式模式;
  • 04 hadoop-HDFS集群搭建-HA模式概念;
  • 05 hadoop-HDFS集群搭建-HA模式验证;
  • 06 hadoop-HDFS权限、企业级搭建;
  • 07 hadoop-MapReduce原理精讲、轻松入门;
  • 08 hadoop-MapReduce调度原理,Yarn原理;
  • 09 hadoop-MapReduce-Yarn集群搭建、idea开发MR的WC程序;
  • 10 hadoop-MapReduce作业提交方式、源码-客户端提交源码;
  • 11 hadoop-MapReduce源码-MapTask-input源码精讲;
  • 12 hadoop-MapReduce源码-MapTask-output和ReduceTask精讲;
  • 13 hadoop-MapReduce开发-分组取TopN-API精炼;
  • 14 hadoop-MapReduce开发-推荐系统-大数据思维模式;
Hadoop四大特性

扩容能力

Hadoop是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计个节点中。

成本低

Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。

高效率

通过并发数据,Hadoop可以在节点之间动态并行的移动数据,使得速度非常快。

可靠性

能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hado op的按位存储和处理数据的能力值得人们信赖。

3重学习保障 确保高效学习

架构专家
传授多年经验

系统学习
全程实战演练

班主任全程
陪伴监督学习

完善的学习服务

随时学习

随时学习无需等待
学习时间灵活把握

阶段测试

检验巩固阶段学习效果
及时查漏补缺

全程督导

班主任学习督导
确保学员进度

配套材料

配套讲义、视频
等学习资料

百战程序员微信公众号

百战程序员微信小程序

©2014-2024 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637