Trafodion安装后,建议对HBase的配置参数做一些调整,如TimeOut相关,这些参数的调整可以减少甚至避免某些因为超时而导致的错误。
Trafodion的安装脚本中已经做了部分HBase的配置调整,但可能不够全面,本文列出相关需要调整的参数,帮助大家在下次需要相关因为配置不当导致错误的时候可以做为借鉴。
参数 | 推荐值 |
---|---|
hbase.master.distributed.log.splitting | false |
hbase.coprocessor.region.classes | org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionObserver, org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionEndpoint, org.apache.hadoop.hbase.coprocessor.AggregateImplementation |
hbase.hregion.impl | org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegion |
hbase.regionserver.region.split.policy | org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy 备注: 这个设置将会导致region只会在达到文件最大限制时才会自动分裂。 |
hbase.snapshot.enabled | true |
hbase.regionserver.region.transactional.hlog | false |
hbase.regionserver.region.transactional.tlog | true |
hdfs.namenode.java.heapsize 仅对CDH适用 | 1073741824 (1GB) |
hdfs.secondary.namenode.java.heapsize 仅对CDH适用 | 1073741824 (1GB) |
hbase.rpc.timeout | 10分钟,默认60秒,对于大表需要调高值,需保持和hbase.client.scanner.timeout.peroid一样。调高值会减少超时相关的错误,譬如 OutOfOrderNextException。 |
hbase.client.scanner.timeout.period | 10分钟,默认60秒,可以减少大表count(*)或update statistics的超时问题 |
hbase.snapshot.master.timeoutMillis | 10分钟,默认60秒,当使用Bulk Loader或与HBase快照相关的超时问题需要调高值 |
hbase.snapshot.region.timeout | 10分钟,与上述相同 |
hbase.hregion.max.filesize | 107374182400 bytes(100GB),默认10G,增加到100G会减少HBase表的HStoreFiles数目,也会减少因为split造成的影响 |
hbase.hstore.blockingStoreFiles | 10 |
hbase.regionserver.handler.count | 此设置需要与mxosrvr的并发会话数匹配,默认值是10 |
Region Server Java Heap Size | 小型集群(16G),推荐2GB;中型集群(64G),推荐8GB;大型集群(>=128G),推荐16GB |
hbase.regionserver.thread.compaction.small | 磁盘数的一半 |
hbase.regionserver.thread.compaction.large | 磁盘数的一半 |
除了HBase的配置调整,对HDFS配置可能也需要一些调整,主要包括Namenode和Datanode的Heap Size,如下
HDFS参数 | 推荐值 | 备注 |
---|---|---|
Datanode Java Heap Size | 2GB | 大型配置中应用,如内存>=128G |
Namenode Java Heap Size | 2GB | 大型配置中应用,如内存>=128G |
Secondary Namenode Java Heap Size | 2GB | 大型配置中应用,如内存>=128G |