在AWS上運行LSF是可能的,並且well-documented。基本上你建立了一個帶有EFS後端的vanilla EC2集羣,並使用LFS來消費你的數據併產生你的輸出。這是否絕對是最好的體系結構是值得商榷的:AWS提供了一個完整的工具,可以完成LSF所做的工作,更深入地集成在一起,並且每美元的性能可能會更好。但是,這需要重新思考一個不是圍繞LSF構建的解決方案,因此ECS + EFS的邊際成本可能是值得的。
將數據存入集羣應該是直接的,並且合理地阻止與rsync
的故障。儘可能將您的數據流打包,打包,同時向羣集發送最小的可用單元:這將使作業儘可能快地進行,並且將有助於使傳輸更容易適應生產者端中斷。
如果您使用LSF作爲您的工作亞軍,您提交作業的方式是standard LSF file。單個EC2可以充當「網關」,接收作業文件並等待數據流可用。或者,您可以將AWS ELB(負載均衡器)設置爲前端網關,將該管理工作分配給負載均衡器中的所有計算機。或者您可以使用SQS將作業定義保持停滯狀態,直到流到達,這將保護作業定義免於任何特定EC2實例的丟失。
另一方面,您可以使用類似Amazon Kinesis的東西來管理傳入的數據流並在其上運行並行作業。這消除了對LFS的需求,用AWS工具箱替代它:Kinesis(Firehose + Streams)+ EMR(Elastic Map Reduce)。但是,這可能並不理想:您必須熟悉這些工具,並且可能只能節省幾千次。
總之,運行EC2 + EFS + ELB的LFS可以正常工作。但是,我可以考慮至少有其他兩種方法來使用Amazon本地工具來做類似的事情。每個人都有自己的優點和缺點,需要考慮。既然你有預算,而且你想要最低限度的系統管理,那麼我建議你去諮詢一位專業的設計人員,爲系統創建一個最適合你的需求的藍圖。然後你可以建立和管理它,或者讓專業人員去做。
回答這個(好的)問題的方法太多了。 AWS擁有一個大型工具箱,可以通過幾種不同的方式來實現目標,但有些會花費更多,有些會比較靈活地關於工作變化,有些會比較好,等等。我很努力地回答這個問題沒有更多的約束:你有多少美元?最大期望的工作週轉量是多少?你願意做多少系統管理?等等。 – bishop
@bishop:謝謝。最小系統管理員,沒有$的問題,我無法回答工作轉身。 – neversaint
好吧,根據您對AWS工具箱的研究,哪些服務似乎不合適,爲什麼?就像你可能讀過SQS一樣,並決定擁有一個總是監聽新數據的集羣的靈活性,但你不需要額外的組件,因爲它需要額外的管理。 – bishop