Hadoop:如何解决 docker 容器中的错误 "Could'n upload the file"
Hadoop: How can i resolve the error "Could'n upload the file" in docker container
Hadoop 在本地机器上 运行 docker-compose.yml
。并尝试从 Web 上传文件到 HDFS UI,但出现以下结果:
Couldn't upload the file bar.txt
症状
- 可以在 Web 上创建文件夹 UI。
- 浏览器 devtools 网络请求失败
尝试 1
检查发现网络调用失败。使用此引用 Open a file with webhdfs in docker container 并将以下内容添加到 services.datanode.ports
到 docker-compose.yml
中。但是症状是一样的。
services:
...
datanode:
...
ports:
- 9864:9864
你的帮助对我会有很大的帮助。
将文件上传到 WebHDFS 需要 HTTP 重定向(首先它在 HDFS 中创建文件句柄,然后将文件上传到那个地方)。
您的主机不知道容器服务名称,因此您会看到 ERR_NAME_NOT_RESOLVED
一种可能的解决方案是编辑您的 /etc/hosts
文件以包含名称节点容器 ID 以指向 127.0.0.1
,但是更好的方法是将 docker-compose exec
放入容器中一个 HDFS 客户端,以及 运行 hadoop fs -put
命令
Hadoop 在本地机器上 运行 docker-compose.yml
。并尝试从 Web 上传文件到 HDFS UI,但出现以下结果:
Couldn't upload the file bar.txt
症状
- 可以在 Web 上创建文件夹 UI。
- 浏览器 devtools 网络请求失败
尝试 1
检查发现网络调用失败。使用此引用 Open a file with webhdfs in docker container 并将以下内容添加到 services.datanode.ports
到 docker-compose.yml
中。但是症状是一样的。
services:
...
datanode:
...
ports:
- 9864:9864
你的帮助对我会有很大的帮助。
将文件上传到 WebHDFS 需要 HTTP 重定向(首先它在 HDFS 中创建文件句柄,然后将文件上传到那个地方)。
您的主机不知道容器服务名称,因此您会看到 ERR_NAME_NOT_RESOLVED
一种可能的解决方案是编辑您的 /etc/hosts
文件以包含名称节点容器 ID 以指向 127.0.0.1
,但是更好的方法是将 docker-compose exec
放入容器中一个 HDFS 客户端,以及 运行 hadoop fs -put
命令