Hadoop概述

Hadoop项目主要包括4个部分:
1、Hadoop Common:支撑其他模块
2、Hadoop Distributed File System:分布式系统对应用提供高吞吐量的访问。
3、Hadoop Yarn:资源管理和任务调度的一个框架。
4、Hadoop Mapreduce:能够并行处理大数据集的Yarn基本系统。

Hadoop相关项目:
1、Arvo:是一个比较流行的数据序列化系统,可以提供丰富的结构类型,快速可压缩的二进制数据格式,存储持久化数据,支持远程过程调用协议(RPC)
2、Hbase:是一个分布式的,面向列的开源数据库,可以称为Hadoop的标准数据库,也是一款比较流行的NoSQL数据库,主要解决非关系型数据存储问题。
3、Hive:本身是建立在Hadoop体系结构上的数据仓库基础构架,可以将结构化的数据文件映射为一张数据库表,并提供完整的查询(QL)语句,把QL语句转换成MapReduce程序提交给Hadoop集群完成相关任务。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析并存储在Hadoop中的大规模数据处理的机制
4、Pig:是一个基于Hadoop的大规模数据分析平台,它提供的SQL-Like语言叫做Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的Mapreduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。
5、Spark:是一个快速和通用的集群计算系统。它还支持一组丰富的高级工具,包括Spark SQL,SQL和结构化数据处理,机器学习,图形处理,Spark流。
5、Zookeeper:是一个能够高效开发和维护分布式的开放源码的应用协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括维护配置信息、名字服务、分布式同步、组服务等。

Hadoop体系架构:HDFS体系结构和MapReduce体系结构

HDFS体系架构:采用主从结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作。集群中的DataNode管理存储的数据。当文件进行存储时,文件被分割成若干个数据库,并且这些数据库会被存放在集群中的各个DataNode节点上。NameNode执行文件系统的命名空间操作,比如打开、关闭、重命名文件或目录等,负责数据块到具体的DataNode的映射。DataNode负责处理文件系统客户端的文件读写请求,并在NameNode的统一调度下进行数据块的创建、删除和复制工作。一个典型的部署场景是集群中的一台机器运行一个NameNode实例,其他机器分别运行一个DataNode实例。NameNode是所有HDFS元数据的管理者,用户数据永远不会存储到NameNode上。

MapReduce体系结构
早期的MapReduce框架中,主要是由一个单独运行在主节点上的JobTracker进场和运行在每个集群从节点上的TaskTracker进程共同组成的。主节点JobTracker负责调度构成一个作业的所有任务,这些任务分布在不同的从节点TaskTracker上。主节点通过心跳机制监控它们的执行情况,并且重新执行之前失败的任务;从节点仅负责由主节点指派的任务。当一个Job被Client提交时候,JobTracker接收到提交作业和配置信息后,就会将配置信息分发给从节点,同时调度任务并监控TaskTracker的执行。(Mapreduce v1)

### 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、付费专栏及课程。

余额充值