
情況: 我需要將大約 100TB 的資料從舊的 Hadoop 叢集傳輸到新的 Hadoop 叢集。這兩個叢集與每個叢集上的名稱節點有直接 1GbE 連接。資料節點未連接。
我嘗試過的:
- Distcp:這不起作用,因為新舊資料節點沒有連接,它會報告每個 MapReduce 作業的連接逾時。
- hdfs dfs -cp:到目前為止,這工作得很好,但往往會減慢速度,並最終在幾個小時後停止傳輸。它也不支援壓縮或良好的可重啟性。
我感興趣的是:
- 由於叢集1 和叢集2 之間的連接是瓶頸,因此我有興趣找到一個工具,可以讓我壓縮叢集1 上的數據,透過線路發送數據,開銷很小(可能是netcat?),然後在叢集2上解壓縮它Rsync 是完美的,但我不知道如何在兩個 Hadoop 叢集之間使用它。
- 其他我不熟悉的建議。
我的問題:
- 鑑於列出的限制,我可以使用哪些工具或腳本在叢集 1 和叢集 2 之間有效地傳輸資料?