0

我對AWS上的CDH部署有些疑問。我閱讀了參考架構文檔和我在Cloudera Engineering Blog上找到的其他資料,但我需要更多關於它的建議。構建AWS上的Cloudera CDH羣集:實例和存儲

1)CDH部署是否僅適用於某種實例,或者我可以將它部署在所有AWS實例類型上?

2)假設我想創建一個24x7活動的集羣。對於長期運行的集羣,我知道最好有一個基於本地存儲實例的集羣。如果我們考慮一組2PB,我認爲d2.8xlarge應該是datanode的最佳選擇。關於主節點: - 如果我只想部署3個主節點,是否最好將它們作爲本地存儲實例,或者由於EBS連接實例能夠快速響應可能的主節點故障? - 有關於主節點實例類型(EBS或本地存儲)的最佳做法嗎?關於數據節點: - 如果數據節點出現故障,CDH有一些自動化機制可自動啓動新實例並將其連接到羣集,以便在沒有停機的情況下恢復羣集?我們是否需要從頭開始創建一個腳本來完成這件事?關於邊緣節點: - 是否存在有關實例類型(EBS或本地存儲)的最佳做法? 3)如果我想在S3上做一個羣集備份: - 當我從CDH到S3做一個distcp時,我可以直接在Glacier上移動數據而不是在正常的S3上嗎?如果我對數據應用了一些壓縮(例如snappy,gzip等),並且我對S3執行distcp: - S3上的空間是否相同,或者distcp命令是否爲複製解壓縮數據?

如果我有一個基於EBS連接實例的集羣: - 是否可以對磁盤進行快照並重新附加具有從快照重建的EBS磁盤的數據節點?

4)如果我將數據節點部署爲r4.8xlarge並且需要更多的功率,是否可以將集羣從r4.8xlarge放大到r4.16xlarge?在幾分鐘內連接和分離磁盤?

非常感謝您的澄清,我希望我的疑惑也能幫助其他用戶。

回答

1

1)CDH組件可以工作的實例類型沒有明確的限制,但是你需要用最小的馬力選擇類型。例如,我不指望微型實例可以用於任何事情。一個太小的類型通常會導致守護進程耗盡內存。參考體系結構爲某些情況建議了實例類型。

2)您應該堅持使用EBS來獲取實例類型的根卷。有幾個原因,包括新的實例類型甚至不支持根磁盤的本地實例存儲。

CDH在失敗時沒有替換數據節點的機制。你可以自己推出一些東西,可能在Cloudera Director的幫助下。 3)您可以設置S3中數據的生命週期規則,將其從標準存儲類遷移到Glacier中,也可以直接寫入Glacier;它看起來不像直接冰川訪問可以通過s3a連接器完成。我很確定distcp和S3不會擺弄壓縮;你肯定會複製S3對S3的不透明。您可以快照EBS卷(根目錄或附加附件),然後分離它們並將它們重新附加到不同的實例;這不一定是備份datanodes和distcp路由的好方法,因爲每個datanode都是唯一的,並且在羣集運行時具有不斷變化的數據。

4)您可以調整EBS支持的EC2實例的大小,而無需分離和重新附加磁盤。你必須停止一個實例來調整它的大小。

0

點3只:

  • 您需要DistCp使用到S3,並通過AWS設置其移至冰川
  • 它不會做任何的數據,壓縮等
  • 看(hortonworks doc)Distcp and S3並閱讀其警告/警告。特別是,增量distcp不是基於校驗和,原子distcp不是,它只是「真正慢distcp」