Docker跑hadoop--命令行和python操作HDFS
·
1.改这个文件C:\Windows\System32\drivers\etc\hosts在最后一行加
127.0.0.1 datanode
2. 替换docker-compose.yml文件,在根目录下新建config文件夹,在config文件夹下加入hdfs-site.xml文件。


做完上面的执行下面的命令:
docker-compose down -v && docker-compose up -d && docker exec -it namenode hdfs namenode -format -force(原因:日志还是在报 /tmp/hadoop-root/dfs/name 不存在,说明格式化的结果没有被保存下来。常见原因有两个:
- 你在临时容器里 hdfs namenode -format,但 docker-compose 里的 namenode 容器用的不是同一个数据卷,结果格式化成果没保存 → 一启动就找不到目录。
- docker-compose.yml 里没有给 NameNode 配置持久化卷,所以容器重启后 /tmp/hadoop-root/dfs/name 就消失了。)
然后就可以开始命令行测设hdfs的可行性:(docker exec -it namenode bash进入容器
)

可能遇到的错误:
- 2025-09-21 03:20:16,521 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
只是 信息级别日志,不是错误。说明 datanode 和 namenode 之间用了 SASL 安全传输,但发现没启用加密信任校验,这在默认配置下是正常的。可以不用管。





更多推荐
所有评论(0)