簡體   English   中英

Hadoop Docker 容器只能復制到 0 個節點而不是 minReplication (=1)

[英]Hadoop Docker container could only be replicated to 0 nodes instead of minReplication (=1)

我為 Hadoop 容器嘗試了不同的 docker 圖像,但是當我嘗試將文件寫入 HDFS 時,它們都不起作用。 我總是得到錯誤:

Caused by: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /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 個節點。

到目前為止我嘗試了什么?

  1. 類似問題中提到的格式化Namenode。
  2. 暴露需要的端口,8088、50070、9000、50010。
  3. Datanode 中已經有足夠的空間。
  4. 更新主機文件,將 127.0.0.1 映射到容器名稱。

我在本地計算機上運行應用程序,Docker 容器也在本地運行。

創建基本的 Dataframe 后,我正在嘗試編寫。

df.write.save('hdfs://hadoop-master:9000/t', format='parquet', mode='append'

花了將近2分鍾,然后拋出錯誤。

網頁界面很好。 我可以使用容器中的命令將文件放入 HDFS。

對我來說似乎是網絡/連接問題,但找不到。

我沒有解決問題,但找到了一個快速的解決方案。

TL;TR

MacOS 可能會導致此問題。

在 GCP 上構建了新的 Debian 服務器,安裝了 docker,它的圖像和我測試過的 Python 代碼。 它工作正常,但是當我嘗試從本地計算機連接時仍然出現錯誤。

但仍然需要一個答案,我分享給需要快速解決方案的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM