本文来自于厦门大门-林子雨老师的讲堂及添加个人学习中的理解,做个笔录,如有BUG,请留言,不胜感激。
HDFS:
分步式文件系统,负责整个分布式文件的存储,怎么用成百上千台服务器进行数据的存储
YARN:
负责调度内存、CPU、带宽等计算资源。
MapReduce:
专门做离线计算和批处理,不做实时计算
Tez:
把MapReduce的作业进行分析优化,并构成一个有向无环图,保证获取到最好的处理效率,让那些先做,那些后做,那些不要重复去做。(理清处理顺序,避免工作重复)
Spark:
它的逻辑和MapReduce一样,它们的区别是Spark是基于内存计算,MapReduce是基于硬盘计算,所以Spark的性能要比MapReduce要高
Hive;
实现数据仓库的功能。
数据仓库:
用企业的决策分析,把大量的历史数据保存到数据仓库中,建立各种各样的维度,可以对历史数据大量分析,来满足企业的决策需求
Hive架构在MaprReduce之上,其实是把SQL语句转换成一堆的MapReduce作业。
Pig:
实现流数据处理,如果说Hive是完成批量数据处理,那么Pig是属于轻量级的分析,它提供类似SQL的查询语言Pig Latin,简化在Hive上代码的复杂度
Oozie:
作业流调度系统、工作流管理工具,比如在处理一个工作时,可能需要分成多个任务环节,需要很多个应用程序去执行,那么就需要一个工作流系统去完成调度。Oozie就是处理这类工作。
Zookeeper:
分步式协调服务(分步式锁、集群管理)。
HBase:
分布式数据库,HDFS是做顺序读写,但实际中需要随机读写是靠HBase(面向列的存储数据库),它可以支持几十亿行,上百万列存储的超大型数据库,实现随机读写,实时应用
Flume:
做日志收集,在很多流式数据分析的时候,产生的实时流数据,Flume则负责收集起来。
Sqoop:
完成数据的导入导出。可以关系数据库中的数据,导入到Hadoop平台上,可以导入HDFS、Hive,HBase,反之也可以导出,
Ambari:
安装部署工具,它可以在一个集群上智能化的去部署和管理Hadoop平台上的各个部件