HBase和Hadoop的集群類型
1、單機模式
主要用於開發工作,一台機器上運行所有的守護進程,或者一台機器運行多個虛擬機。一般用於評估和測試。
2、小型集群
20台機器以內的集群,不同的機器運行不同的守護進程,適用於數據量和處理請求較少的小型生產環境。
3、中型集群
20到1000台機器集群,3到5個zookeeper節點,適用於成熟的生產環境。
4、大型集群
1000台機器以上的集群,屬於超大規模集群了,適用於大規模生產環境。
集群配置舉例
1、NameNode/HMaster 常見配置
內存:16~128G
CPU:2*(8~24)核處理器
硬盤:1TB-SATA硬盤+1個元數據備份盤(轉速7200R/MIN+)能使用固態更好。
網卡:2*1GB網卡
為了有更好的性能,所有的元數據都緩存在內存中,因此內存需要擁有較快的速度和較好的質量。大內存意為着可以存儲更多的文件,從而支持NameNode更大的命名空間。同時NameNode不需要很大的磁盤,小容量的磁盤就可以滿足需求,元數據要存儲加載到內存中,數據副本以及修改日志存儲在磁盤上。
2、ResourceManager
可以運行在NameNode機器上,也可以運行在單獨的機器上。硬件配置和NameNode一直,因為只是用於作業分發,因此不需要較大的磁盤和較強的運算能力。
3、DataNode、RegionServer
實際的數據存儲於這些節點,因此這些節點需要較大的存儲和較強的運算能力。較小的集群可以使用一般的磁盤,內存和CPU,如果集群規模較大,可以考慮:
內存:16~128G
CPU:2*(8~24)核處理器
硬盤:2TB,轉速7200
網卡:2*1GB
CDH配置
備選資源:
內存:64~512GB
硬盤:1TB~4TB
CPU:2*(8~24)核CPU,主頻2~2.5GHZ
網卡:千、萬兆以太網
1、CPU
工作負載核心,推薦DataNode配置為雙CPU插槽,配置中等主頻的CPU,高端CPU太燒錢,所以我們可以增加數量。
2、電源
耐熱性,穩定。
3、內存
需要足量的內存以保證不需要等待數據頻繁的裝載到內存中,因此8~48G內存比較合適,HBase會使用大量的內存,將文件存放在內存中(如果開啟了內存表的話),對於HBase集群,我們需要比單獨的Hadoop集群更大的內存。如果HBase開啟緩存,Hbase會嘗試將整張表緩存在內存中。
4、磁盤
不建議在某台機器上配置很大容量的磁盤,這樣當這台機器出現問題,不容易將數據分散到其他機器節點中。必須不能低於SATA 7200轉
5、網絡
Hadoop或者HBase在執行任務,讀取數據和寫入數據時,會在節點之間傳輸數據塊,因此建議配置高速的網絡和交換機。對於中小集群,1GB/s的網絡足矣。對於排序和shuffle這類操作,需要節點間傳輸大量數據,如果帶寬不足,會導致一些節點連接超時,比如RegionServer、Zookeeper。
容量規划
運算公式:T = (S* R)* 1.25
尖叫提示:
S表示存儲數據量
R表示副本數
T表示整個集群需要的空間