硅步至千里 2020-02-14
官方讲解:
Apache Hadoop 为可靠的,可扩展的分布式计算开发开源软件。Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据)。
个人理解:
Hadoop就是一些模块的相对简称!! 那Hadoop到底指的哪些模块??以及他们是干嘛的??
Hadoop内的一些模块指的是这些:
Hadoop Common:支持其他Hadoop模块的常用工具。
Hadoop 分布式文件系统(HDFS):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
Hadoop YARN:作业调度和集群资源管理的框架。
Hadoop MapReduce:一种用于并行处理大型数据集的基于YARN的系统。
而他们是干什么的?如下:
(1)hdfs:就是一个文件系统,可以存储海量的数据。
(2)mapreduce:从海量的数据中,通过一定的算法,计算出有用信息。
(3)hive:就是sql语句解释器,接收用户输入的sql语句,然后将该sql语句翻译成复杂的mapreduce程序,并发布到mr集群中进行运算,也是计算出有用的信息。
(4)hbase:mysql是基于linux/window的文件系统的数据库,而hbase就是基于hdfs文件系统的数据库。
(5)flume:就是一个水泵,将水从一个源水坑,抽到到另一个目的水坑中。当然flume抽的是 “数据”。将数据从一个文件中抽取到另一个文件中。
(6)sqoop:将hdfs文件系统的文件,导出到linux文件系统的文件中。就像“豌豆荚”应用程序,实现 android系统与window系统之间文件的导入导出。
(7)ooize/azkaban:一个完整的业务(work)是由多个任务(task)相互配合完成的。该组件就是负责协调各个task的执行顺序。
**** 其中重点组件如下(重点!!这是你该学的!)****:
HDFS:分布式文件系统
MAPREDUCE:分布式运算程序开发框架
HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具
HBASE:基于HADOOP的分布式海量数据库
ZOOKEEPER:分布式协调服务基础组件
Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库
Oozie:工作流调度框架
Sqoop:数据导入导出工具
Flume:日志数据采集框架
Hadoop的核心组件( 注意!! 是核心组件! 就是最重要的几个东西!! )有:
HDFS(分布式文件系统)
YARN(运算资源调度系统)
MAPREDUCE(分布式运算编程框架)