【发布时间】:2020-05-28 14:09:41
【问题描述】:
我为 Hadoop 容器尝试了不同的 docker 映像,但是当我尝试将文件写入 HDFS 时,它们都不起作用。我总是得到 错误:
原因:org.apache.hadoop.ipc.RemoteException(java.io.IOException): 文件 /t/_temporary/0/_temporary/attempt_20200528153700_0001_m_000006_7/part-00006-34c8bc6d-68a3-4177-bfbf-5f225b28c157-c000.snappy.parquet 只能复制到 0 个节点而不是 minReplication (=1)。 有 3 个数据节点正在运行,其中 3 个节点被排除在外 操作。
到目前为止我尝试了什么?
- 类似问题中提到的格式化 Namenode。
- 公开所需端口,8088、50070、9000、50010。
- Datanode 中已经有足够的空间。
- 更新了主机文件,将 127.0.0.1 映射到容器名称。
我在本地计算机上运行应用程序,Docker 容器也在本地运行。
创建基本数据框后,我正在尝试编写。
df.write.save('hdfs://hadoop-master:9000/t', format='parquet', mode='append'
花了将近 2 分钟,然后抛出错误。
WebUI 很好。我可以使用容器中的命令将文件放入 HDFS。
对我来说似乎是网络/连接问题,但找不到。
【问题讨论】:
标签: python macos docker hadoop hdfs