温馨提示×

linux hdfs存哪里了

小樊
40
2026-08-25 07:12:37
栏目: 智能运维

Linux 上 HDFS 的数据实际存在本地磁盘的哪个目录,主要由 HDFS 配置文件决定,而不是固定在一个地方。


一、HDFS 数据存哪里(核心结论)

HDFS 的数据(DataNode 存储的块)一般存放在:

${dfs.datanode.data.dir}

这个路径是在 hdfs-site.xml 中配置的。


二、查看 HDFS 数据目录配置

1️⃣ 找到 hdfs-site.xml

常见位置:

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

或:

/etc/hadoop/conf/hdfs-site.xml

2️⃣ 查看配置项

grep dfs.datanode.data.dir hdfs-site.xml

示例配置:

<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data/hdfs/datanode</value>
</property>

✅ 那么 HDFS 数据就存在:

/data/hdfs/datanode

三、HDFS 在 Linux 磁盘上的真实结构

/data/hdfs/datanode 为例:

/data/hdfs/datanode/
└── current/
    └── BP-xxxxxxxxx-<namenode>-<timestamp>/
        └── current/
            ├── finalized/
            │   └── blk_<id>
            │       ├── blk_<id>
            │       └── blk_<id>_meta
            └── rbw/
  • blk_*:HDFS 文件块(真实数据)
  • blk_*_meta:块元数据
  • 一个 HDFS 文件 = 多个 blk 文件

⚠️ 不要手动修改这些目录


四、NameNode 存在哪里?

NameNode 元数据目录由:

dfs.namenode.name.dir

决定,例如:

<property>
  <name>dfs.namenode.name.dir</name>
  <value>/data/hdfs/namenode</value>
</property>

包含:

  • fsimage
  • edits
  • VERSION

五、快速确认(命令行方式)

1️⃣ 查看 DataNode 存储目录

hdfs getconf -confKey dfs.datanode.data.dir

2️⃣ 查看 NameNode 存储目录

hdfs getconf -confKey dfs.namenode.name.dir

六、常见默认路径(不一定准确)

组件 默认路径(可能)
DataNode /tmp/hadoop-*/dfs/data
NameNode /tmp/hadoop-*/dfs/name

⚠️ 默认在 /tmp 下,重启可能丢失,生产环境一定改


七、一句话总结

HDFS 在 Linux 上存哪里,取决于 hdfs-site.xml 里的 dfs.datanode.data.dirdfs.namenode.name.dir

如果你愿意,可以把你的 hdfs-site.xml 贴出来,我可以帮你精确指出数据在哪块磁盘上。

0