Hbase在逻辑上的存储最小单位是Region,物理上来说事HFile。每个Region由多个HFile组成。那么,是否有一个推荐值,确定每台regionserver上运行多少个region,,每个region的size多大是最合适的呢?
看到《Hbase权威指南》中有一段话写道:
It is noted in the Bigtablepaper that the aim is to keep the region count between 10 to 1000 per serverand each at roughly 100-200MB in size. This refers to the hardware in use in2006 (and earlier). For
HBase and modern hardware, the number would be morelike 10 to 1000 regions per server, but each between 1GB to 2GB in size.
But while the numbers haveincreased, the basic principle is the same: the number of regions per server,and their respective sizes, depends on what can be handled sufficiently by asingle server.
以目前主流服务器的能力计算,该文章给出了以下推荐值:每台regionserver管理10到1000个regions,每个region大小在1GB~2GB。对应于hbase-site.xml中的一个配置项为hbase.hregion.max.filesize。如果按推荐值计算每台regionserver管理的数据量最少可以到10*1GB=10GB,最大可以到1000*2GB=2TB。考虑到3份备份总数据量在6TB左右。通常来讲这里磁盘的配置就有两种方案。1、4块2TB的硬盘;2、12块500GB的硬盘。两种硬盘容量一样,后者硬盘块数增加,如果硬盘总线带宽够用,后一种能提供更大的吞吐率,更细粒度的磁盘冗余备份,更块的单盘故障恢复时间。
此外,关于硬件中硬盘的配置,对于hadoop和hbase分布式应用来说,具有自己的特点。目前主流的服务器厂商都在主板上集成了raid卡,而raid对于hadoop,hbase应用来说是不必要的,官方推荐的是采用JBOD的方式来单独挂载每块硬盘。《hadoop权威指南》中写道:
HDFS集群没有采用RAID(冗余磁盘阵列)作为datanodes的存储设备(尽管namenode使用RAID来保护元数据不会丢失)。由于HDFS是采用在节点之间块复制的方法,所以RAID提供的冗余机制对HDFS来说是多余的。
此外,RAID条带(RAID 0)常用于增加性能,但却比HDFS中用到的JBOD(Just a Bunch Of Disks)要慢,而且JBOD在所有的磁盘之间对HDFS块进行时间片的轮转。具体说,RAID 0读写操作受限于冗余磁盘阵列中最慢的那个磁盘的速度。在JBOD中,磁盘的操作是独立的,所以读写操作的平均速度要大于最慢磁盘的速度。实际应用中,磁盘性能多是可以改变的,即使是同一型号的磁盘。在Yahoo Hadoop Cluster的Benchmark中,测试Gridmix显示JBOD要比RAID
0快10%,另一个测试显示快30%(这里的测试指的是HDFS的写能力。
最后,当一个JBOD配置中的一个磁盘失效,HDFS可以继续操作;但是在RAID中,一个磁盘的失效将会导致整个阵列(节点也一样)变得不再可用。
所以,如果今后有硬件厂家愿意生产JBOD配置的服务器作为云计算标配机器,那将是最好的选择。
分享到:
相关推荐
通过对整个安装过程的梳理,不仅有助于读者理解 Hadoop 和 HBase 的基本配置流程,也能帮助解决安装过程中可能出现的各种问题。通过遵循本文提供的步骤,可以顺利搭建出一个功能完整的分布式计算平台。
1. **硬件规划**:HBase需要足够的内存和CPU资源,尤其是Region Server。硬盘方面,SSD通常能提供更好的性能。 2. **负载均衡**:合理地划分和分配Region,避免热点现象,保证数据分布均匀。 3. **监控与调优**:...
在IT行业中,大数据处理是不可或缺的一部分,而Hadoop和HBase作为开源的分布式存储和处理框架,被广泛应用于海量数据的管理和分析。本篇将详细阐述如何在Hadoop 2.7.1环境下搭建HBase 1.2.1集群,并进行性能优化,以...
1. **监控与调优**:定期分析HBase集群的运行状况,监控RegionServer负载、内存使用情况,及时进行调整。 2. **负载均衡**:适时进行RegionServer负载均衡,确保集群资源的充分利用。 3. **HDFS调优**:对底层HDFS...
### 五、HBase的安装与配置 - **Java环境**:HBase运行需要Java环境,建议使用最新稳定版的JDK。 - **Hadoop环境**:HBase与Hadoop紧密结合,需要在Hadoop集群上部署。 - **硬件要求**:推荐使用SSD硬盘以提高I/O...
4. **与 Hadoop 集成**:与 HDFS 的紧密集成,使得 HBase 可以利用 Hadoop 的分布式计算能力进行大数据分析。 总的来说,HBase 是一种理想的处理大规模数据的解决方案,尤其适用于实时查询和大数据分析场景。它的...
### Hadoop+Hbase技术使用文档关键知识点 #### 一、文档目的 本文档旨在指导用户如何在单节点上安装并...通过上述步骤,可以完成Hadoop与Hbase在单节点上的安装与配置工作,为后续的数据处理与分析打下坚实的基础。
对于HBase表的设计,需要考虑的因素包括合理规划region数量和版本,以及压缩策略的选择。更重要的是,合理设计rowkey,因为HBase是基于rowkey的字典顺序进行存储的。rowkey的设计应尽量短小,以减少存储空间的消耗和...
### 云计算Hadoop伪集群与HBase安装配置详解 #### 1. 综述 本文档旨在为IT工程师提供在单台Linux服务器上构建和配置Hadoop伪集群及HBase服务的详细指南。Hadoop是一种分布式计算框架,主要用于处理大量数据集。而...
9. **Zookeeper 配置**:Zookeeper在HBase中负责协调和管理,优化Zookeeper的配置可以提升整体系统的稳定性。 10. **硬件选型**:根据业务需求选择适合的硬件配置,如SSD硬盘可以提升读写速度,更多的内存可以提高...
Zookeeper在HBase中起到关键的协调作用,保证Master的唯一性,存储Region的寻址信息,监控RegionServer状态,并存储schema信息。Master负责Region的分配、负载均衡、失效RegionServer的处理、HDFS垃圾文件回收和...
#### 三、HBase的安装与配置 - **硬件要求**: - 内存:足够的内存对于提高HBase性能至关重要,建议使用大容量内存。 - 存储:采用RAID或JBOD配置来提高磁盘I/O性能。 - IOPS:选择高IOPS的硬盘或固态硬盘来提升...
例如,HBASE-8329引入的压力感知压缩控制器(PressureAwareCompactionThroughputController),在不同版本中,这一控制器的实现类有所不同,1.1.0+版本前使用org.apache.hadoop.hbase.regionserver.compactions....
6. **监控与调优**:实时监控HBase的性能指标,如Region分布、I/O负载等,根据实际情况进行调整,确保冷热分离策略的有效执行。 7. **备份与恢复策略**:冷数据的备份可以采取更经济的方式,比如周期性全量备份,而...
在一篇名为《Hadoop and HBase Optimization for Read Intensive Search Applications》的文章中,作者提到了在配备SSD硬盘的服务器上将RegionServer的请求处理IO线程数设置为100的例子。这一设置是在特定的应用场景...
最后,书中可能会涵盖HBase与其他Hadoop组件(如HDFS、MapReduce、Hive等)的集成,以及如何在实际项目中应用HBase,解决各种大数据场景下的问题。 总的来说,《HBase权威指南》中文版为读者提供了全面深入理解...