Hadoop在本地计算机上运行docker-compose.yml
。并尝试从Web UI将文件上传到HDFS,但出现以下结果:
无法上传文件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
你的帮助可对我有很大的帮助。
1条答案
按热度按时间bgtovc5b1#
文件上传到WebHDFS需要HTTP重定向(首先在HDFS中创建文件句柄,然后将文件上传到该位置)。
您的主机不知道容器服务名称,因此您将看到
ERR_NAME_NOT_RESOLVED
一种可能的解决方案是编辑您的
/etc/hosts
文件,使其包含namenode容器ID以指向127.0.0.1
,但更好的方法是将docker-compose exec
写入HDFS客户端的容器中,然后运行hadoop fs -put
命令