docker compose 部署了一个单节点的 hadoop 集群,各个节点启动都正常,通过 localhost:9870 也访问得到 web ui,通过客户端上传文件显示也正常,但是要下载该文件就会失败,因为这个地址 datanode 是一个 id ,访问不到导致的。 我在本地 hosts 文件将 hostname 配置了一下,通过 cmd ping 显示已经正常解析成 127.0.0.1 了,但是就是访问不到,查了半天想了半天以我的知识储备这道理是通的啊,但是就是访问不到。实在是菜 以下是配置: docker-compose.yaml
version: "2"
services:
namenode:
image: apache/hadoop:3
hostname: namenode
command: ["hdfs", "namenode"]
ports:
- 8020:8020
- 9870:9870
env_file:
- ./config
environment:
ENSURE_NAMENODE_DIR: "/opt/hadoop/name"
networks:
- hadoop
datanode:
image: apache/hadoop:3
hostname: datanode
depends_on:
- namenode
command: ["hdfs", "datanode"]
ports:
- 9864:9864
- 9865:9865
- 9866:9866
env_file:
- ./config
networks:
- hadoop
resourcemanager:
image: apache/hadoop:3
hostname: resourcemanager
command: ["yarn", "resourcemanager"]
ports:
- 8088:8088
- 19888:19888
- 19890:19890
env_file:
- ./config
volumes:
- ./test.sh:/opt/test.sh
networks:
- hadoop
nodemanager:
image: apache/hadoop:3
command: ["yarn", "nodemanager"]
env_file:
- ./config
ports:
- 8040:8040
networks:
- hadoop
networks:
hadoop:
driver: bridge
hosts
# Hadoop
127.0.0.1 namenode
127.0.0.1 datanode
还有就是配置成我本机 ip 也不行,请帮我解惑,谢谢了
1
tpxcer 165 天前
你竟然用虚拟机搞。。。斯~~~
|
2
0o0O0o0O0o 165 天前
前段时间遇到类似问题。排查下来返现是我的 sing-tun 配置只 bypass 了默认的 172.17.0.1/16 ,而 docker compose 里 bridge network 会新建一个 interface ,就可能是 172.21.0.1/16 。所以我把从 172.16.0.0/12 都进加进去就正常了
- https://en.wikipedia.org/wiki/Reserved_IP_addresses#IPv4 - https://sing-box.sagernet.org/configuration/inbound/tun/#inet4_route_exclude_address 所以你可以排查看看是不是宿主机上运行了什么特别的东西 |
4
shakeit OP @0o0O0o0O0o 是我 v2ray 影响的,谢谢老哥
|