大数据中的Hadoop HDFS及其作用

Hadoop HDFS 简介

Hadoop HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)是Hadoop生态系统的核心组件之一,专门用于存储和管理大规模数据。它是一个分布式文件系统,可以在多台机器上存储超大数据集,同时提供高容错性和高吞吐量,适用于大数据处理场景。

HDFS 的核心概念

HDFS 采用主从架构,由以下几个关键组件组成:

1. 主节点

  • 负责管理整个文件系统的元数据,比如:

    目录结构,文件存储在哪些主节点上,副本信息
  • 不直接存储数据,而是维护文件系统的命名空间。

2. 数据节点

  • 负责存储实际的数据块。

  • 运行在集群中的多个机器上,每个 DataNode 负责存储不同的数据块

  • 定期向 NameNode 发送心跳信号,汇报自己的存活状态。

3. 数据块

  • HDFS 将大文件拆分成多个块,默认大小是 128MB(可以配置)。

  • 每个块存储在不同的数据块上,支持多副本机制(默认 3 副本)。

HDFS 关键特性

 高容错性

  • 通过副本机制确保数据安全,默认情况下,每个数据块存储 3 份副本,分别存储在不同的 DataNode 上。

  • NameNode 失败时可通过元数据恢复

 高吞吐量

  • 适用于大文件存储顺序读取,支持并行处理,适合大数据分析场景。

 流式数据访问

  • 设计上适用于一次写入,多次读取的模式,不适合频繁修改数据。

 可扩展性

  • 只需增加新的数据块,就能扩展存储能力。

HDFS 运行流程示例

文件存储

  1. 客户端向节点发送存储请求,节点解析请求并确定数据块存储位置。

  2. 文件被拆分成多个块,每个块按照副本因子(默认 3)存储在多个数据块上。

  3. 数据块确认存储成功,并向节点汇报。

文件读取

  1. 客户端向节点请求文件,节点返回块及其所在的数据块信息。

  2. 客户端直接从数据块读取数据,而不经过节点,减少瓶颈。

HDFS 适用场景

  • 大规模数据存储(如 TB 级、PB 级数据)

  • 日志分析、数据挖掘

  • 大数据处理(如 Hadoop MapReduce、Spark)

  • 机器学习、人工智能数据处理

Hadoop HDFS 搭建与使用教程 

1. 安装 Hadoop 环境

(1)准备环境

  • 操作系统:Linux(推荐 Ubuntu 或 CentOS),也可在 Windows 的 WSL2 或 Docker 运行

  • Java 环境:Hadoop 依赖 Java 运行,建议安装 OpenJDK 8 或 11

  • SSH 配置:Hadoop 需要 SSH 访问自己

(2)安装 Java

(3)下载并安装 Hadoop

2. 配置 HDFS

(1)修改 core-site.xml

vim $HADOOP_HOME/etc/hadoop/core-site.xml

修改或添加: 

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

(2)修改 hdfs-site.xml 

vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

添加: 

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>  <!-- 伪分布模式设置为1,集群模式可以设3 -->
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///usr/local/hadoop/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///usr/local/hadoop/data/datanode</value>
    </property>
</configuration>

(3)格式化 HDFS 

hdfs namenode -format

3. 启动 HDFS

(1)启动 NameNode 和 DataNode

start-dfs.sh

如果 start-dfs.sh 不存在,可以手动启动: 

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode

(2)检查 HDFS 运行状态 

jps

应看到 NameNode、DataNode、SecondaryNameNode 进程。

(3)查看 Web 界面

HDFS 默认提供一个 Web UI,打开浏览器访问:

http://localhost:9870

 可查看 HDFS 状态、存储情况等。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值