1.文檔編寫目的
本文主要介紹由Cloudera Manager管理的CDH集群的角色划分。實際部署你可能還需要考慮工作負載的類型和數量,真實要部署的哪些服務,硬件資源,配置,以及其他因素。當你使用Cloudera Manager的安裝向導來安裝CDH時,CM會根據主機的可用資源,自動的分配角色到各台主機,邊緣節點除外。你可以在向導中使用”自定義角色分配 - Customize Role Assignments”來更改這些默認划分,當然你也可以以后再使用Cloudera Manager來增加或修改角色分配。
在介紹角色划分時,我們首先來看看有哪幾種主要的角色:
- 管理節點(Master Hosts):主要用於運行Hadoop的管理進程,比如HDFS的NameNode,YARN的ResourceManager。
- 工具節點(Utility Hosts):主要用於運行非管理進程的其他進程,比如Cloudera Manager和Hive Metastore.
- 邊緣節點(Edge Hosts):用於集群中啟動作業的客戶端機器,邊緣節點的數量取決於工作負載的類型和數量。
- 工作節點(Worker Hosts):主要用於運行DataNode以及其他分布式進程,比如ImpalaD。
本文會從測試/開發集群(小於10台),小規模集群(10-20台),中小規模集群(20-50台),中等規模集群(50-100台),大型集群(100-200台),超大規模集群(200-500台),巨型規模集群(500台以上)來分別講述角色划分。以下角色划分場景都不包括Kafka,Kafka角色我們一般都會采用單獨的機器部署。
2.集群角色划分
2.1 小於10台
一般用於測試/開發集群,我們建議至少5台機器,沒有高可用。一個管理節點主要用於安裝NameNode和ResourceManager,工具節點和邊緣節點復用一個,主要用於安裝Cloudera Manager等,剩余3-7台工作節點。
2.2 10-20台
這是最小規模的生產系統,必須啟用高可用。我們會用2個管理節點用於安裝2個NameNode,一個工具節點用於安裝Cloudera Manager等,如果機器充足或者Hue/HiveServer2/Flume的負載特別高,可以考慮獨立出邊緣節點用於部署這些角色,否則也可以跟Cloudera Manager復用。最后還剩下7-17個工作節點
注:根據實際情況選擇是否需要單獨的邊緣節點。
2.3 20-50台
這是中小規模的生產集群,必須啟用高可用,與小規模集群角色划分差別不大。我們會用3個管理節點用於安裝NameNode和Zookeeper等,一個工具節點用於安裝ClouderaManager等,如果機器充足或者Hue/HiveServer2/Flume的負載特別高,可以考慮獨立出邊緣節點用於部署這些角色,否則也可以跟Cloudera Manager復用。最后還剩下16-46個工作節點。
注:根據實際情況選擇是否需要單獨的邊緣節點。
Zookeeper和JournalNode需配置專有的數據盤
2.4 50-100台
這是中等規模的生產集群,必須啟用高可用。我們會用3個管理節點用於安裝NameNode和Zookeeper等,一個工具節點用於安裝Cloudera Manager,一個工具節點用於安裝ClouderaManagement Service和Navigator等。使用三個節點安裝Hue/HiveServer2/Flume,作為邊緣節點,使用兩個節點安裝負載均衡軟件比如F5或者HAProxy並配置為KeepAlive的主主模式,該負載均衡可同時用於HiveServer2和Impala Daemon。最后還剩下42-92個工作節點。
注:Zookeeper和JournalNode需配置專有的數據盤
2.5 100-200台
屬於大規模的生產集群,必須啟用高可用。我們會用5個管理節點用於安裝NameNode和Zookeeper等,1個工具節點用於安裝Cloudera Manager,再使用4個工具節點分別安裝HMS,Activity Monitor,Navigator等。使用3個以上節點安裝Hue/HiveServer2/Flume,作為邊緣節點,使用2個節點安裝負載均衡軟件比如F5或者HAProxy並配置為KeepAlive的主主模式,該負載均衡可同時用於HiveServer2和Impala Daemon。最后還剩下85-185個工作節點。
注:Zookeeper和JournalNode需配置專有的數據盤
Kudu Master不超過3個
Kudu Tablet Server不超過100個
2.6 200-500台
屬於超大規模的生產集群,必須啟用高可用。我們會用7個管理節點用於安裝NameNode和Zookeeper等,1個工具節點用於安裝Cloudera Manager,再使用7個工具節點分別安裝HMS,Activity Monitor,Navigator等。使用3個以上節點安裝Hue/HiveServer2/Flume,作為邊緣節點,使用2個節點安裝負載均衡軟件比如F5或者HAProxy並配置為KeepAlive的主主模式,該負載均衡可同時用於HiveServer2和Impala Daemon。最后還剩下180-480個工作節點。
注:Zookeeper和JournalNode需配置專有的數據盤
Kudu Master不超過3個
Kudu Tablet Server不超過100個
2.7 500台以上
屬於巨型規模的生產集群,必須啟用高可用。我們會用20個管理節點用於安裝NameNode和Zookeeper等,1個工具節點用於安裝Cloudera Manager,再使用7個工具節點分別安裝HMS,Activity Monitor,Navigator等。使用3個以上節點安裝Hue/HiveServer2/Flume,作為邊緣節點,使用2個節點安裝負載均衡軟件比如F5或者HAProxy並配置為KeepAlive的主主模式,該負載均衡可同時用於HiveServer2和Impala Daemon。最后還剩下至少467個工作節點。
注:這個規模的規划僅供參考,這種巨型規模的生產集群的角色划分依賴因素非常多,比如是否考慮NN和RM的聯邦等
Zookeeper和JournalNode需配置專有的數據盤
Kudu Master不超過3個
Kudu Tablet Server不超過100個