Hadoop:什么是Hadoop??

硅步至千里 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(分布式运算编程框架)

相关推荐