HDFS Hadoop:如何解决Docker容器中的错误“无法上传文件”

rur96b6h  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(661)

Hadoop在本地计算机上运行docker-compose.yml。并尝试从Web UI将文件上传到HDFS,但出现以下结果:
无法上传文件bar.txt

症状

  • 可以在Web UI上创建文件夹。
  • 浏览器devtools无法进行网络请求

尝试1

检查发现网络调用失败。使用此引用Open a file with webhdfs in docker container并将以下内容添加到services.datanode.portsdocker-compose.yml。但症状相同。

services:
  ...

  datanode:
    ...
    ports:
      - 9864:9864

你的帮助可对我有很大的帮助。

bgtovc5b

bgtovc5b1#

文件上传到WebHDFS需要HTTP重定向(首先在HDFS中创建文件句柄,然后将文件上传到该位置)。
您的主机不知道容器服务名称,因此您将看到ERR_NAME_NOT_RESOLVED
一种可能的解决方案是编辑您的/etc/hosts文件,使其包含namenode容器ID以指向127.0.0.1,但更好的方法是将docker-compose exec写入HDFS客户端的容器中,然后运行hadoop fs -put命令

相关问题