Hadoop报错 Couldn‘t find datanode to read file from. Forbidden

"Couldn't find datanode to read file from. Forbidden"

说明 Hadoop 的 Web 界面(如 http://namenode:9870/http://namenode:50070/)在尝试访问 HDFS 文件数据块 时,无法找到 DataNode 或被拒绝访问

我们来逐步分析可能原因和解决方法👇


🧩 一、明确场景

如果你是:

  • 在浏览器上访问 Hadoop 的 Web UI;
  • 点击 "Browse the filesystem"(浏览 HDFS 文件);
  • 然后点开某个文件(想下载或查看内容);
    就出现了这个错误。

说明:Web UI 能连接到 NameNode(因为能列目录),但 DataNode 层访问失败


🚨 二、常见原因与解决方法

1️⃣ DataNode 没有正常运行

最常见原因。

执行:

bash 复制代码
jps

看看是否有:

复制代码
NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager

如果没有 DataNode:

bash 复制代码
start-dfs.sh

然后再刷新浏览器看看。


2️⃣ DataNode 报错或心跳丢失

在 NameNode UI 中查看:

"Datanodes" 页面(一般在 http://namenode:9870/dfshealth.html#tab-datanode

看看有没有显示 DataNode 在线。

如果状态是 DeadDecommissioned,需要重启:

bash 复制代码
hdfs --daemon stop datanode
hdfs --daemon start datanode

3️⃣ 防火墙 / 端口问题

Web UI 要从 DataNode 读取数据块,需要访问 DataNode 的 HTTP 端口(默认 9864)。

检查:

bash 复制代码
sudo netstat -tulnp | grep 9864

如果没开放:

bash 复制代码
sudo ufw allow 9864

或者干脆关闭防火墙试试:

bash 复制代码
sudo ufw disable

4️⃣ 浏览器访问被拒绝(Forbidden)

如果你的 DataNode 启用了安全认证(例如 Kerberos 或 Hadoop 权限),

那么 Web UI 用匿名访问被拒绝。

解决方法:

  • hdfs-site.xml 中设置:

    xml 复制代码
    <property>
      <name>dfs.webhdfs.enabled</name>
      <value>true</value>
    </property>
  • 并确保你使用的是 Hadoop 超级用户(通常是 hadoophdfs 用户)。


5️⃣ 文件确实没有副本(丢块)

查看日志:

bash 复制代码
hdfs fsck /path/to/file -files -blocks -locations

如果提示:

复制代码
Status: CORRUPT

说明文件块丢失,DataNode 没有数据,浏览器自然打不开。

可以尝试删除或重新上传文件:

bash 复制代码
hdfs dfs -rm /path/to/file

✅ 三、总结

原因 表现 解决方案
DataNode 没启动 目录能看但打不开文件 启动 DataNode
DataNode 死亡或掉线 NameNode 页面显示 Dead 重启 DataNode
防火墙阻拦 "Forbidden" 开放 9864 端口
权限问题 "Forbidden" 检查权限配置或启用 WebHDFS
文件丢块 无法读取数据 删除或重新上传文件
相关推荐
byte轻骑兵4 小时前
时序数据库选型指南:从大数据视角看Apache IoTDB的核心优势
大数据·时序数据库
SelectDB6 小时前
Apache Doris 与 ClickHouse:运维与开源闭源对比
大数据·数据分析·github
TDengine (老段)6 小时前
TDengine 数学函数 LOG 用户手册
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
TDengine (老段)6 小时前
TDengine 数据函数 MOD 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
在未来等你7 小时前
Kafka面试精讲 Day 25:Kafka与大数据生态集成
大数据·分布式·面试·kafka·消息队列
一品威客爱开发7 小时前
APP 开发抉择:定制服务与模板套用如何选?
大数据
武子康8 小时前
大数据-134 ClickHouse 单机+集群节点落地手册 | 安装配置 | systemd 管理 / config.d
大数据·分布式·后端
通往曙光的路上8 小时前
day17_cookie_webstorage
数据仓库·hive·hadoop
AORO20258 小时前
北斗短报文终端是什么?有什么功能?你能用到吗?
大数据·网络·5g·智能手机·信息与通信