Hadoop 简介及其hdfs常用命令

发布于:2025-02-15 ⋅ 阅读:(28) ⋅ 点赞:(0)

Hadoop 简介

1. 什么是 Hadoop?

Hadoop 是一个 分布式存储与计算框架,用于大规模数据处理。最初由 Apache 基金会开发,能够处理 PB 级别 的数据,具有 高容错性、可扩展性和高吞吐量 等特点。


2. Hadoop 的核心组件

Hadoop 主要由以下几个核心组件组成:

2.1 HDFS(Hadoop Distributed File System)——分布式存储

HDFS 负责将大文件拆分存储到多个节点上,并进行数据冗余,提高容错能力。

特点:

  • 块存储(默认 128MB/256MB)
  • 主从架构(NameNode 负责元数据管理,DataNode 负责数据存储)
  • 多副本机制(默认 3 份,保证数据安全)

2.2 YARN(Yet Another Resource Negotiator)——资源管理

YARN 负责管理 Hadoop 集群的计算资源,调度作业执行。

特点:

  • 任务调度与资源管理分离
  • 任务并行处理,提高资源利用率
  • 任务失败自动恢复

2.3 MapReduce——分布式计算框架

MapReduce 是 Hadoop 的计算引擎,采用 “Map + Reduce” 计算模型:

  • Map(映射):将数据切分成小任务并并行处理
  • Reduce(归约):汇总 Map 结果,得到最终计算结果

2.4 Hadoop Common

Hadoop 的通用工具库,提供基础 API 以支持 HDFS、YARN 和 MapReduce 交互。


3. Hadoop 的优势

  • 高可扩展性:可以横向扩展至成千上万个节点
  • 高容错性:数据自动复制,节点故障时数据仍可恢复
  • 高吞吐量:适用于大规模批处理任务
  • 低成本:可运行在普通商用服务器上
  • 开源生态:丰富的组件,如 Hive(SQL 查询)、HBase(NoSQL 数据库)、Spark(内存计算)等

4. Hadoop 的生态系统

Hadoop 生态包含多个大数据处理工具:

组件 作用
HDFS 分布式存储
YARN 资源管理
MapReduce 分布式计算
Hive SQL 查询引擎(类似数据库)
HBase 分布式 NoSQL 数据库
Spark 内存计算框架(比 MapReduce 快)
Flink 流计算框架
Sqoop 结构化数据导入/导出
Kafka 分布式消息队列
ZooKeeper 分布式协调工具

5. Hadoop 适用场景

  • 离线大数据分析(如日志分析、用户行为分析)
  • 数据存储与备份(替代传统数据库)
  • 机器学习 & AI(结合 Spark、Flink 进行训练)
  • 搜索引擎索引(如 Elasticsearch 后端存储)
  • 大规模 ETL 处理(数据清洗、转换)

6. Hadoop vs 其他大数据框架

特性 Hadoop Spark Flink
计算模式 批处理(MapReduce) 内存计算 实时流处理
速度 快(内存计算) 更快(低延迟)
适用场景 日志分析、数据仓库 机器学习、数据分析 实时数据流
生态 丰富 与 Hadoop 兼容 适用于流式数据

7. Hadoop 文件系统基本命令

Hadoop 提供了一系列 HDFS 命令来管理文件和目录。

7.1 文件与目录操作

# 查看 HDFS 目录结构
hdfs dfs -ls /path

# 创建目录
hdfs dfs -mkdir /path/to/dir

# 上传文件到 HDFS
hdfs dfs -put localfile /hdfs/path

# 从 HDFS 下载文件
hdfs dfs -get /hdfs/path localfile

# 删除 HDFS 文件或目录
hdfs dfs -rm -r /path/to/delete

网站公告

今日签到

点亮在社区的每一天
去签到