2017-07-24 28 views
1

我需要每天從谷歌存儲輸出大塊數據到s3(幾百GB)。因爲,gsutil rsync似乎是唯一的方法,我想稍微調整一下。加快谷歌雲存儲轉移到s3

從gs到s3的同步速度太慢,因爲文檔本身說「由於交叉提供程序gsutil數據傳輸流過gsutil正在運行的計算機......」。 因此,它會下載並上傳觸發rsync命令的機器中的數據。 如果任何人有類似的工作,讓我知道。

'rsync -m'也沒有幫助。

更好的機器會改善結果嗎? 我們可以使用多臺機器並行運行rsync來加速嗎?

謝謝!

+0

你說「導出大塊」,但你也談到了使用rsync ......這似乎是兩個非文件系統之間同步的非常低效的方式。轉移工作的真正本質是什麼,爲什麼你每天都要轉移大塊*? (假設您知道GC和AWS網絡都不允許您免費導出數據...) –

+0

您所說的絕對正確。只是在GS中有一個實體E1,我們必須繪製數據(有許多這樣的源實體,而不僅僅是GS)。 處理方實體P1 ... Pn是坐在EC2上的EMR - 所有AWS都是這樣,所以公共點已經是處理方的s3中的數據。 編寫一個spark工作可能會有所幫助,但它本質上必須執行跨雲移動數據的類似工作 – taransaini43

回答

2

如果您從計算引擎(而不是從您的場所中的計算機)運行gsutil rsync命令,那麼將避免將谷歌的額外網絡帶寬用於您的場所,然後從您的場所使用到亞馬遜。

+0

或者在EC2上運行它。 –

+0

嘿,邁克,計算引擎是有道理的,但現在我們擁有EC2上的所有其他基礎,所以不能這樣。 @ Michael-sqlbot,我們正在EC2上運行它。 它改進了使用更大的ec2實例 - 更多的核心,RAM和I/0。我一直在尋找比縮放機器硬件更好的方法。 – taransaini43

+0

此外,我有兩個查詢: 1.是否增加'gsutil rsync'正在運行的磁盤大小,提高速度? 2.我們可以同時在一組機器上運行gsutil rsync來創建某種並行性嗎? – taransaini43