《Hadoop MapReduce性能优化》一1.2 Hadoop MapReduce概述

简介:

本节书摘来异步社区《Hadoop MapReduce性能优化》一书中的第1章,第1.2节,作者: 【法】Khaled Tannir 译者: 范欢动 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 Hadoop MapReduce概述

Hadoop MapReduce性能优化
Hadoop由Google公司推出,是最流行的MapReduce编程模型的Java开源实现。还有一些其他的MapReduce开源实现(如Sphere、Starfish、Riak等),这些开源实现实现了Google文档描述的特性或者其中的部分特性。

Hadoop由分布式数据存储引擎和MapReduce执行引擎组成。在处理使用大量节点、围绕大量数据集展开的高分布性问题方面,Hadoop得到了成功的应用。上述节点一起构成了Hadoop集群,而Hadoop集群由一个称为JobTracker的主节点和多个工作节点(从节点)构成,每个工作节点称为一个TaskTracker。在这个框架体系下,一个用户程序称为一项作业,并分为两个步骤,即map和reduce。

与在MapReduce编程模型中类似,使用Hadoop MapReduce实现的时候,用户仅须定义map和reduce函数。Hadoop MapReduce系统会自动并行执行这些函数并确保容错。

要学习更多关于Hadoop MapReduce实现的内容,读者可以浏览Hadoop官方网站:http://hadoop.apache.org

Hadoop MapReduce框架基本上采用了一个分布式文件系统来读写数据。这个分布式文件系统称为Hadoop分布文件系统(HDFS),是Google文件系统(GFS)的对等开源实现。因此,Hadoop MapReduce作业的I/O性能严重依赖于HDFS。

HDFS包含一个叫做NameNode(名称节点)的主节点和一个叫做DataNode(数据节点)的从节点。在HDFS内部,数据拆分为固定大小的数据块(block或chunk)并分发到集群中的所有数据节点。每个数据块一般复制为两个复制件:一个放在同一机架上,另一个放在其他机架上。NameNode负责跟踪哪个DataNode保存了哪个数据块的哪个复制件。

相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
79 2
|
18天前
|
数据采集 分布式计算 Hadoop
使用Hadoop MapReduce进行大规模数据爬取
使用Hadoop MapReduce进行大规模数据爬取
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
105 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
51 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
57 0
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
186 6
|
3天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
29 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
114 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
77 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
74 1

相关实验场景

更多