Hadoop概述

hadoop是什么:Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用
java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算.
Hadoop框架中最核心设计就是:HDFS和MapReduce.HDFS提供了海量数据的存储,
MapReduce提供了对数据的计算.

数据在hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果.


HDFS:Hadoop Distributed File System,Hadoop的分布式文件系统.
大文件被分成默认64M一块的数据块分布存储在集群机器中.

如下图中的文件 data1被分成3块,这3块以冗余镜像的方式分布在不同的机器中.


MapReduce:Hadoop为每一个input split创建一个task调用Map计算,在此task中依次处理此split中的一个个记录(record),map会将
结果以key--value的形式输出,hadoop负责按key值将map的输出整理后作为Reduce的输入,

Reduce Task的输出为整个job的输出,保存在HDFS上.


Hadoop的集群主要由 NameNode,DataNode,Secondary NameNode,JobTracker,TaskTracker组成.

如下图所示:


NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点.
NameNode同时保存了文件系统运行的状态信息.
DataNode中存储的是被拆分的blocks.
Secondary NameNode帮助NameNode收集文件系统运行的状态信息.
JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker.
TaskTracker负责某一个map或者reduce任务.


### Hadoop 概述及基础知识 Hadoop 是由 Apache 基金会开发的一个分布式系统基础架构,主要用于解决海量数据的存储和分析计算问题[^2]。它提供了一种可靠且高效的框架来处理大规模数据集。以下是 Hadoop 的核心组成部分及其功能: #### 1. Hadoop 的核心模块 - **Hadoop Common**:这是 Hadoop 的基础模块,提供了其他 Hadoop 模块所需的通用工具和库[^1]。 - **Hadoop Distributed File System (HDFS)**:HDFS 是 Hadoop 的分布式文件系统,用于存储大规模数据并支持高吞吐量的数据访问。它是 Hadoop 数据存储的核心组件[^1]。 - **Hadoop YARN**:YARN(Yet Another Resource Negotiator)是一个用于作业调度和集群资源管理的框架。它负责分配计算资源并跟踪它们的使用情况。 - **Hadoop MapReduce**:这是一个基于 YARN 的计算框架,用于并行处理大数据集。MapReduce 将任务分解为多个小任务,并在分布式环境中执行这些任务,最后将结果合并[^1]。 #### 2. Hadoop 的优势 Hadoop 具有以下显著特点: - **高可靠性**:通过数据冗余和错误恢复机制,Hadoop 能够确保数据的安全性和完整性[^3]。 - **高扩展性**:Hadoop 支持横向扩展,可以通过增加节点来提升系统的处理能力。 - **高效性**:Hadoop分布式计算模型允许其快速处理大规模数据集[^3]。 - **高容错性**:即使某个节点出现故障,Hadoop 也能自动重新分配任务并继续运行。 #### 示例代码:启动 Hadoop 集群 以下是一个简单的命令示例,用于启动 Hadoop 集群中的相关服务: ```bash # 启动 HDFS start-dfs.sh # 启动 YARN start-yarn.sh ``` #### 学习 Hadoop 的建议 对于初学者来说,可以从以下几个方面入手学习 Hadoop: - 理解分布式系统的概念以及 Hadoop 在其中的角色。 - 掌握 HDFS 的基本操作,例如文件上传、下载和查看等。 - 学习 MapReduce 编程模型,并尝试编写简单的 MapReduce 程序。 - 了解 YARN 的工作机制以及如何进行资源管理。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值