Hbase集群类型|集群配置|服务器选型|磁盘容量规划
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表示整个集群需要的空间