修改集群HBase参数
操作场景
创建完CloudTable集群后,由于HBase有很多与读写性能相关的配置参数,读写请求负载不同的情况下,用户可以在表格存储服务控制台中多次修改集群HBase配置参数,对集群的性能进行调优。当修改完集群HBase参数后,用户需要重启集群才能生效。
操作步骤

- 修改CloudTable集群参数需要重启集群,可能会导致业务的中断。
- 当CloudTable集群重启过程中,不允许修改集群参数。
- 登录表格存储服务管理控制台。
- 单击管理控制台左上角的
,选择区域。
- 在左侧导航树,单击“集群模式”。
- 选中需要修改参数的集群,单击对应的集群名称,跳转到该集群基本信息页面。
- 在“参数配置”中单击“相关参数”页签,对HBase参数进行修改。
CloudTable集群当前可以修改的HBase参数请参见HBase参数说明。
- 选中需要修改的参数,在“参数值”列单击
。
- 在修改框中输入新值,单击
,系统提示“参数修改为' xx '成功,请保存本次修改值,参数值修改成功。
如果单击
,则取消修改。
- 单击参数列表左上方的“保存修改”,弹出“保存修改”对话框。
- 在“保存修改”对话框中,确认参数修改信息正确后,勾选“是否立即重启”,然后单击“确定”。图1 保存修改
- 当勾选“是否立即重启”并单击“确定”后,集群将立即重启,重启完成后,修改后的参数才能生效。单击参数列表上方的
,参数列表上方将显示“新值已应用”。
- 在“保存修改”对话框中可以先不勾选“是否立即重启”,单击“确定”后,参数列表上方将显示“新值未应用”。此时用户需要自行重启集群,才能使修改的参数值生效。重启集群操作请参见重启集群。
- 如果修改的参数值不正确,可以在“保存修改”对话框中单击“一键还原”,取消修改参数值。
- 当勾选“是否立即重启”并单击“确定”后,集群将立即重启,重启完成后,修改后的参数才能生效。单击参数列表上方的
- 选中需要修改的参数,在“参数值”列单击
- 参数修改完成后,可以单击“修改历史”页签查看参数修改的历史。
在“修改历史”页签中可以查看如下信息:
- 参数名:被修改过的参数名。
- 旧值:修改前的参数值。
- 新值:修改后的参数值。
- 修改时间:记录用户修改参数值的时间。
HBase参数说明
CloudTable集群当前可以修改的参数如表1所示。

hbase.regionserver.global.memstore.size和hfile.block.cache.size两个参数值相加不能超过0.8。
参数名 |
参数默认值 |
参数范围 |
单位 |
参数描述 |
---|---|---|---|---|
hbase.regionserver.thread.compaction.small |
1 |
[1,20] |
-- |
HFile compaction线程数,在put高负载情况下可以适当调大。 |
hbase.regionserver.global.memstore.size |
0.4 |
(0,0.8) |
-- |
建议设置为“hbase.hregion.memstore.flush.size * 写活跃region数 / RegionServer GC -Xmx”。默认值为“0.4”,表示使用RegionServer GC -Xmx的40%。 |
hbase.hstore.blockingStoreFiles |
60 |
[1,2147483647] |
-- |
当列簇的HFile数达到该阈值,阻塞该region的所有操作,直到compaction完成,在put高负载场景下可以适当调大。 |
hbase.client.scanner.timeout.period |
60000 |
[1,2147483647] |
毫秒 |
客户端和RegionServer端参数,表示scan租约的时间,建议设置为60000ms的整数倍,在读高负载情况下可以适当调大。单位:毫秒。 |
hfile.block.cache.size |
0.2 |
(0,0.8) |
-- |
数据缓存所占的RegionServer GC -Xmx百分比,在读高负载情况下可以适当调大以增大缓存命中率以提高性能。默认值为“0.2”,表示使用RegionServer GC -Xmx的20%。 |
hbase.regionserver.handler.count |
100 |
[1,300] |
-- |
RegionServer上的RPC服务器实例数,建议设置为100 ~ 300之间。 |
hbase.regionserver.metahandler.count |
50 |
[1,100] |
-- |
RegionServer中处理优先请求的程序实例的数量,建议设置为20 ~ 100之间。 |
hbase.hstore.flusher.count |
2 |
[1,10] |
-- |
memstore的flush线程数,在put高负载场景下可以适当调大。 |
hbase.ipc.server.callqueue.read.ratio |
0.5 |
[0,1] |
-- |
该配置项用于不同负载模型时,控制读和写操作的RPC队列数量的比例。取值范围为0到1.0,默认值为0.5。 0表示所有RPC队列不区分读和写操作; 小于0.5表示读操作负载少于写操作负载; 0.5表示读操作负载与写操作负载相同; 大于0.5表示读操作负载大于写操作负载; 1.0表示除了一个RPC队列外,其余所有RPC队列都用于读操作。 |
