一、今日学习
今天学习关于Hadoop的介绍,了解到的Hadoop是由Java编写的Apache开源框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集,并且还了解到了Hadoop的相关架构以及是如何工作的。
(1)Hadoop框架包括以下四个模块:
Hadoop Common | 这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系统和操作系统级抽象,并包含启动Hadoop所需的Java文件和脚本 |
Hadoop YARN | 这是一个用于作业调度和集群资源管理的框架 |
Hadoop Distributed File System (HDFS™) | 分布式文件系统,提供对应用程序数据的高吞吐量访问 |
Hadoop MapReduce | 这是基于YARN的用于并行处理大数据集的系统 |
(2)MapReduce
Hadoop MapReduce是一个软件框架,用于轻松编写应用程序,以可靠,容错的方式在大型集群(数千个节点)的商用硬件上并行处理大量数据。MapReduce是指Hadoop
程序执行下的两个不同任务,分别是:
-
The Map Task: 此任务将map任务的输出作为输入,并将这些数据元组合并为较小的元组集合。
-
The Reduce Task: reduce任务总是在map任务之后执行。
(3)Hadoop分布式文件系统(HDFS)
Hadoop可以直接与任何可安装的分布式文件系统(如本地FS,HFTP FS,S3 FS等)一起工作,但Hadoop使用的最常见的文件系统是Hadoop分布式文件系统(HDFS)。
Hadoop分布式文件系统(HDFS)基于Google文件系统(GFS),并提供一个分布式文件系统,该系统设计为在大型集群(数千台计算机)上运行小型计算机机器以可靠,容错方式。
(4)Hadoop如何工作:
阶段 1:
用户/应用程序可以通过指定以下项目来向Hadoop(hadoop作业客户端)提交作业以获取所需的进程:
-
分布式文件系统中输入和输出文件的位置。
-
java类以jar文件的形式包含map和reduce函数的实现。
-
通过设置作业的不同参数来配置作业。
阶段 2:
Hadoop作业客户端然后将作业(jar /可执行文件等)和配置提交给JobTracker,JobTracker然后承担将软件/配置分发给从属的责任,Hadoop作业客户端然后将作业(jar /可执行文件等)和配置提交给JobTracker,JobTracker然后承担将软件/配置分发给从属的责任,
阶段 3:
不同节点上的TaskTracker根据MapReduce实现执行任务,reduce函数的输出存储在文件系统上的输出文件中。
二、遇到问题:
对于Hadoop中的相关术语不熟悉,导致有些理解不清
三、明日计划:
学习Hadoop的环境配置