Hadoop 教程
-
Hadoop 教程
Hadoop 是一个开放源代码框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。 -
听众
本简短教程简要介绍了大数据,MapReduce算法和Hadoop分布式文件系统。本教程是为渴望使用Hadoop框架学习大数据分析基础知识并成为Hadoop开发人员的专业人员准备的。软件专业人员,分析专业人员和ETL开发人员是本课程的主要受益者。 -
先决条件
在开始进行本教程之前,我们假定您已经预先了解Java,数据库概念以及任何Linux操作系统版本。 -
Hadoop 简介
Hadoop是用Java编写的Apache开放源代码框架,该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。Hadoop框架应用程序在提供跨计算机群集的分布式存储和计算的环境中工作。Hadoop旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。 -
Hadoop架构
Hadoop的核心有两个主要层,即-- 处理/计算层(MapReduce)
- 存储层(Hadoop分布式文件系统)。
-
MapReduce
MapReduce是一种并行编程模型,用于编写由Google设计的分布式应用程序,以便以可靠,容错的方式在商品硬件的大型群集(数千个节点)上高效处理大量数据(多TB数据集)。MapReduce程序在Hadoop(这是一个Apache开源框架)上运行。 -
Hadoop分布式文件系统
Hadoop分布式文件系统(HDFS)基于Google文件系统(GFS),并提供旨在在商品硬件上运行的分布式文件系统。它与现有的分布式文件系统有许多相似之处。但是,与其他分布式文件系统的区别很明显。它具有很高的容错能力,旨在部署在低成本硬件上。它提供对应用程序数据的高吞吐量访问,并且适用于具有大型数据集的应用程序。除了上述两个核心组件,Hadoop框架还包括以下两个模块-- Hadoop Common-这些是其他Hadoop模块所需的Java库和实用程序。
- Hadoop YARN-这是用于作业调度和群集资源管理的框架。
-
Hadoop如何工作?
使用繁重的配置来构建大型服务器以处理大规模处理是非常昂贵的,但是作为替代方案,您可以将许多商用计算机与单CPU捆绑在一起,作为一个单一功能的分布式系统,并且实际上,集群计算机可以读取数据集并提供更高的吞吐量。而且,它比一台高端服务器便宜。因此,这是在跨群集和低成本计算机上运行的Hadoop使用背后的第一个动机因素。Hadoop在计算机集群上运行代码。此过程包括Hadoop执行的以下核心任务-- 数据最初分为目录和文件。文件分为大小统一的128M和64M(最好是128M)的块。
- 这些文件然后分布在各个群集节点上以进行进一步处理。
- HDFS位于本地文件系统的顶部,负责监督处理过程。
- 复制块以处理硬件故障。
- 检查代码是否已成功执行。
- 执行在地图和归约阶段之间进行的排序。
- 将排序的数据发送到特定计算机。
- 为每个作业编写调试日志。
-
Hadoop的优势
- Hadoop框架允许用户快速编写和测试分布式系统。它是高效的,并且可以在计算机之间自动分配数据和工作,进而利用CPU内核的底层并行性。
- Hadoop不依靠硬件来提供容错和高可用性(FTHA),而是Hadoop库本身已被设计为在应用程序层检测和处理故障。
- 可以动态地在集群中添加或删除服务器,并且Hadoop可以继续运行而不会中断。
- Hadoop的另一个主要优点是,除了开源之外,由于它基于Java,因此在所有平台上都兼容。