news 2026/5/1 0:55:37

Hadoop 通过 Web 界面上传文件到 HDFS 失败解决方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Hadoop 通过 Web 界面上传文件到 HDFS 失败解决方案

问题描述

最近在复用一个之前搭建好的大数据测试平台时,发现通过 HDFS 的 Web 界面上传文件失败了,浏览器报错如下:

Couldn't upload the file xxxx.yyy

之前使用 Web 上传功能是正常的,这次突然出现报错,需要逐步排查原因。


(一)排查一:目录权限问题

现象分析

在 HDFS 中,通过命令行创建的目录,其所属用户是当前 Linux 登录用户(例如ac);而通过 Web 界面创建的目录,默认所属用户是dr.who

如果目录权限设置不当,可能导致 Web 用户没有写入权限。

尝试修复

首先尝试放宽目标目录的写权限:

hdfs dfs-chmod+w /thePathName

结果:重新上传文件,依然失败。

进一步检查

检查hdfs-site.xml中的权限配置:

vimhdfs-site.xml

关键配置项如下:

<configuration>...<property><!-- 测试环境可将 HDFS 权限检查关闭,便于多用户访问 --><name>dfs.permissions</name><value>true</value></property>...</configuration>

注:若将dfs.permissions设为false,则关闭 HDFS 的文件权限检查,所有用户均可随意访问。生产环境不建议关闭。

结论:本次问题并非由目录权限引起。


(二)排查二:域名解析问题

关键线索

F12打开浏览器开发者工具,在控制台发现了关键错误信息:

(内部请求使用了配置中的主机名,而非 IP 地址)

原因定位

回想起之前测试成功时,浏览器和服务器在同一台机器上,且本地hosts文件中配置了各虚拟机的主机名与 IP 映射关系。

而这次使用的是另一台电脑,直接通过 IP 地址访问 HDFS Web 界面:

http://192.168.168.121:9870/explorer.html

问题根源:HDFS 的 Web 上传功能在后台通信时,使用的是配置文件中的主机名(如vm00vm01等),而非访问时使用的 IP 地址。如果浏览器所在机器无法解析这些主机名,上传请求就会失败。

解决方案

在浏览器所在机器的hosts文件中,添加 HDFS 集群各节点的主机名映射:

# Linux/Mac: /etc/hosts# Windows: C:\Windows\System32\drivers\etc\hosts192.168.168.121 vm00192.168.168.122 vm01192.168.168.123 vm02192.168.168.124 vm10192.168.168.125 vm11# ... 其他节点

刷新 DNS 缓存

修改hosts文件后,需要刷新 DNS 缓存使其立即生效:

Windows 系统:

ipconfig /flushdns

Linux 系统:

sudosystemctl restart systemd-resolved# 或sudoservicenetwork-manager restart

macOS 系统:

sudodscacheutil-flushcachesudokillall-HUPmDNSResponder

验证结果

刷新 DNS 后,重新通过 Web 界面上传文件,上传成功!


总结

排查项结果说明
目录权限❌ 不是原因chmod +wdfs.permissions配置均正常
域名解析✅ 根本原因浏览器所在机器需能解析 HDFS 节点主机名

核心要点:使用 HDFS Web 界面上传文件时,浏览器所在计算机必须能够正确解析 HDFS 集群中各节点的主机名。建议通过配置本地hosts文件或搭建内网 DNS 服务来解决。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 0:55:36

Webtoon Downloader终极指南:免费漫画下载的7个高效技巧

Webtoon Downloader终极指南&#xff1a;免费漫画下载的7个高效技巧 【免费下载链接】Webtoon-Downloader A fast CLI for downloading chapters of Webtoons 项目地址: https://gitcode.com/gh_mirrors/we/Webtoon-Downloader Webtoon Downloader是一款基于Python开发…

作者头像 李华
网站建设 2026/5/1 0:53:30

Kotlin 基础语法

Kotlin 基础语法 引言 Kotlin 是一种现代化的编程语言,由 JetBrains 开发,旨在提高 Java 语言的开发效率。它具有简洁、安全、互操作性强等特点,在 Android 开发、服务器端编程以及多平台开发等领域有着广泛的应用。本文将为您介绍 Kotlin 的基础语法,帮助您快速入门。 …

作者头像 李华
网站建设 2026/5/1 0:48:26

告别X86存储服务器?聊聊ZYNQ+NVMe方案在工业边缘数据记录中的实战与选型

告别X86存储服务器&#xff1f;ZYNQNVMe方案在工业边缘数据记录中的实战与选型 在工业自动化、车载数据记录和高端仪器设备领域&#xff0c;数据存储的可靠性、小型化和全国产化需求日益凸显。传统X86存储服务器虽然性能强大&#xff0c;但在严苛的工业环境中往往面临体积庞大、…

作者头像 李华
网站建设 2026/5/1 0:43:42

START框架:多模态大语言模型的图表理解新突破

1. 图表理解的技术挑战与START框架概述在科学研究和商业分析领域&#xff0c;图表作为数据可视化的重要载体&#xff0c;其理解能力直接决定了多模态大语言模型(MLLM)在实际应用中的价值。然而&#xff0c;当前最先进的MLLM在图表理解任务上仍存在明显短板——它们往往难以同时…

作者头像 李华