HBase服务配置

服务配置

常规参数

字段名 字段值 说明
HBASE_MASTER_HEAPSIZE 4g Master服务的JVM堆大小(-Xmx)
HBASE_MASTER_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$GC_LOG_DIR/master.gc.log.$GC_LOG_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=128M -XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=70 JVM参数
HBASE_REGIONSERVER_HEAPSIZE 4g RS JVM堆大小(-Xmx)
HBASE_REGIONSERVER_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$GC_LOG_DIR/regionserver.gc.log.$GC_LOG_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=128M -XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=60 JVM参数
JAVA_HOME /usr/lib64/jdk8 1.2.6会使用自带的JDK7
env_sh_template 生成hbase-env.sh模板
log4j_properties_template 生成log4j.properties模板

服务参数

参数 参数值 描述
hbase.rootdir /hbase HBase存储在hdfs上的路径
hbase.tmp.dir /tmp/hbase-${user.name} 临时路径
hbase.cluster.distributed true 是否使用分布式部署
hbase.regionserver.info.port 16030 rs的webui端口
hbase.master.info.port 16010 master的webui端口
hbase.snapshot.enabled true 是否开启快照
hbase.bulkload.staging.dir /tmp/hbase-staging 使用bulkload的临时路径

高级参数配置

若需要变更服务配置文件,请按照以下步骤执行:

明确需要添加或修改的参数名称

新增一个配置分组,分组名必须为hbase-site.xml (使用1.7.3版本新部署的服务默认存在该分组)

在该分组下新增对应的字段名,名称为参数名,类型为string,字段值即要调整的参数值

重启服务,勾选同步配置让配置生效

HBase配置文件参考:https://github.com/apache/hbase/blob/rel/1.2.6/hbase-common/src/main/resources/hbase-default.xml

当前支持可以动态配置参数的文件名为: hbase-site.xml, log4j.properties, hadoop-metrics2-hbase.properties

服务指标

默认开启服务度量采集,并发送至Graphite Exporter,进而存储至Prometheus,使用Grafana呈现相关报表.

JVM

每个度量记录都包含标签,如ProcessName、SessionID和主机名,作为度量的附加信息。

度量名 说明
MemNonHeapUsedM 堆外已使用内存(单位 MB ,下同)
MemNonHeapCommittedM 堆外已申请内存
MemNonHeapMaxM 堆外最大内存
MemHeapUsedM 堆已使用内存
MemHeapCommittedM 堆已申请内存
MemHeapMaxM 堆最大内存
MemMaxM 最大物理内存
ThreadsNew 创建线程数
ThreadsRunnable 运行线程数
ThreadsBlocked 阻塞线程数
ThreadsWaiting 等待线程数
ThreadsTimedWaiting TIMED_WAITING线程数
ThreadsTerminated 中止线程数
GcInfo 根据不同GC算法汇总的总GC次数和时长 GcCountPS Scavenge=6, GCTimeMillisPS Scavenge=40, GCCountPS MarkSweep=0, GCTimeMillisPS MarkSweep=0
GcCount GC总次数
GcTimeMillis GC总时长
LogFatal Fatal级别日志数量
LogError Error级别日志数量
LogWarn Warn级别日志数量
LogInfo Info级别日志数量
GcNumWarnThresholdExceeded Number of times that the GC warn threshold is exceeded
GcNumInfoThresholdExceeded Number of times that the GC info threshold is exceeded
GcTotalExtraSleepTime Total GC extra sleep time in msec

参考Hadoop的JVM指标说明

Master 重要指标

度量名 说明
hbase.master.numRegionServers 正常RS数量
hbase.master.numDeadRegionServers 异常RS数量
hbase.master.ritCount RIT数量
hbase.master.ritCountOverThreshold 超出阈值的RIT数量
hbase.master.ritOldestAge 最长的RIT持续时间

RegionServer 重要指标

度量名 说明
hbase.regionserver.regionCount region数量
hbase.regionserver.storeFileCount storeFiles数量
hbase.regionserver.storeFileSize storeFiles总字节数
hbase.regionserver.hlogFileCount 未归档的WAL日志数量
hbase.regionserver.totalRequestCount 总请求数
hbase.regionserver.readRequestCount 读请求数
hbase.regionserver.writeRequestCount 写请求数
hbase.regionserver.numOpenConnections 打开连接数
hbase.regionserver.numActiveHandler 处理线程数量
hbase.regionserver.numCallsInGeneralQueue 当前排队的用户请求数量
hbase.regionserver.numCallsInReplicationQueue 当前排队的复制请求数量
hbase.regionserver.numCallsInPriorityQueue 当前排队优先级请求的数量
hbase.regionserver.flushQueueLength memstore当前刷新队列深度。如果一直增长,memstore落盘到HDFS的进度会出现延迟
hbase.regionserver.updatesBlockedTime 因memstore数据落盘引起的更新阻塞时长
hbase.regionserver.compactionQueueLength 当前合并压缩请求队列深度。如果一直增长,storefile的合并压缩进度会出现延迟
hbase.regionserver.blockCacheHitCount cache命中次数
hbase.regionserver.blockCacheMissCount cache未命中次数
hbase.regionserver.blockCacheExpressHitPercent 打开缓存的请求命中缓存用时的百分比
hbase.regionserver.percentFilesLocal store文件本地化比率
hbase.regionserver.${op}_${measure} 各类操作时长,${op}为Append, Delete, Mutate, Get, Replay, Increment; ${measure}为min, max, mean, median, 75th_percentile, 95th_percentile, 99th_percentile
hbase.regionserver.slow${op}Count 慢操作次数,${op}为Append, Delete, Mutate, Get, Replay, Increment
hbase.regionserver.GcTimeMillis GC总时长
hbase.regionserver.GcTimeMillisParNew Young区GC时长
hbase.regionserver.GcTimeMillisConcurrentMarkSweep Old区GC时长
hbase.regionserver.authenticationSuccesses 客户端认证成功的连接数
hbase.regionserver.authenticationFailures 客户端认证失败的连接数
hbase.regionserver.mutationsWithoutWALCount 提交的写入次数,带有应该绕过WAL日志的标记