内容提纲:
1)对 Apache Hadoop 生态系统的认识(Hadoop 1.x 和 Hadoop 2.x)
2) Apache Hadoop 1.x 框架架构原理的初步认识
3) Apache Hadoop 1.x 安装的三种模式
Hadoop 1.x 生态系统
ETL: 提取à转换à加载:从数据库中获取数据,并进行一系列的数据清理和清洗筛选,将合格的数据进行转换成一定的格式数据进行存储,将格式化的数据存储到 HDFS 文件系统上,以供计算框架进行数据分析和挖掘。
格式化数据:
|- TSV 格式:每行数据的每列之间以【制表符 】进行分割
|- CSV 格式:每行数据的每列之间以【逗号】进行分割
Sqoop:将关系型数据库中的数据与 HDFS(HDFS 文件,HBase 中表,Hive 中的表)上的数据进行相互导入导出。
Flume:收集各个应用系统和框架的日志,并将其放到 HDFS 分布式文件系统的相应制定的目录下。
Hadoop 2.x 生态系统
对于分布式系统和框架的架构来说,一般分为两部分:
第一部分:管理层,用于管理应用层的
第二部分:应用层(工作的)
HDFS,分布式文件系统,
NameNode :属于管理层,用于管理数据的存储
SecondaryNameNode:也属于管理层,辅助 NameNode 进行管理
DataNode :属于应用层,用户进行数据的储存,被 NameNode 进行管理,要定时的向 NameNode
进行工作汇报,执行 NameNode 分配分发的任务。
MapReduce ,分布式的并行计算矿建,
JobTracker:属于管理层,管理集群资源和对任务进行资源调度,监控人去的执行。
TaskTracker:属于应用层,执行 JobTracker 分配分发的任务,并向 JobTracker 汇报工作情况。
NameNode,存储文件的元数据,
1)文件名称
2)文件的目录结构
3)文件的属性(权限,副本数,生成的时间)
4)文件à(对应)Block块à(存储在)DataNodes 上
Apache Hadoop 安装部署模式
伪分布模式(Pseudo-Distributed Mode),
1)一台机器上运行所有的 Hadoop 服务(五个守护进程)。
2)我们整个课程,基本上都是使用伪分布式环境(尤其是讲解 MapReduce)