更新时间:2024-11-29 GMT+08:00

HBase日志介绍

日志描述

日志存储路径:HBase相关日志的默认存储路径为“/var/log/Bigdata/hbase/角色名”。

  • HMaster:“/var/log/Bigdata/hbase/hm”(运行日志),“/var/log/Bigdata/audit/hbase/hm”(审计日志)。
  • RegionServer:“/var/log/Bigdata/hbase/rs”(运行日志),“/var/log/Bigdata/audit/hbase/rs”(审计日志)。
  • ThriftServer:“/var/log/Bigdata/hbase/ts2”(运行日志,ts2为具体实例名称),“/var/log/Bigdata/audit/hbase/ts2”(审计日志,ts2为具体实例名称)。
  • MetricController:“/var/log/Bigdata/hbase/mc”(运行日志),“/var/log/Bigdata/audit/hbase/mc”(审计日志)。

日志归档规则:HBase的日志启动了自动压缩归档功能,缺省情况下,当日志大小超过30MB的时候,会自动压缩,压缩后的日志文件名规则为:“<原有日志名>-<yyyy-mm-dd_hh-mm-ss>.[编号].log.zip”。最多保留最近的20个压缩文件,压缩文件保留个数可以在Manager界面中配置。

表1 HBase日志列表

日志类型

日志文件名

描述

运行日志

hbase-<SSH_USER>-<process_name>-<hostname>.log

HBase系统日志,主要包括启动时间,启动参数信息以及HBase系统运行时候所产生的大部分日志。

hbase-<SSH_USER>-<process_name>-<hostname>.out

HBase运行环境信息日志。

<process_name>-<SSH_USER>-<DATE>-<PID>-gc.log

HBase服务垃圾回收日志。

checkServiceDetail.log

HBase服务启动是否成功的检查日志。

hbase.log

HBase服务健康检查脚本以及部分告警检查脚本执行所产生的日志。

sendAlarm.log

HBase告警检查脚本上报告警信息日志。

hbase-haCheck.log

HMaster主备状态检测日志。

stop.log

HBase服务进程启停操作日志。

ranger-hbase-plugin-enable.log

HBase服务启用或停用Ranger鉴权的日志。

hbase-trace.log

HBase全链路Trace日志。

rolling-restart-prepare.log

HBase服务滚动升级日志。

startDetail.log

RegionServer启动日志。

审计日志

hbase-audit-<process_name>.log

HBase安全审计日志。

日志级别

HBase中提供了如表2所示的日志级别。日志级别优先级从高到低分别是FATAL、ERROR、WARN、INFO、DEBUG。程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。

表2 日志级别

级别

描述

FATAL

FATAL表示当前事件处理出现严重错误信息,可能导致系统崩溃。

ERROR

ERROR表示当前事件处理出现错误信息,系统运行出错。

WARN

WARN表示当前事件处理存在异常信息,但认为是正常范围,不会导致系统出错。

INFO

INFO表示记录系统及各事件正常运行状态信息

DEBUG

DEBUG表示记录系统及系统的调试信息。

如果您需要修改日志级别,请执行如下操作:

  1. 进入HBase服务参数“全部配置”界面,具体操作请参考修改集群服务配置参数
  2. 左边菜单栏中选择所需修改的角色所对应的日志菜单。
  3. 选择所需修改的日志级别。
  4. 保存配置,在弹出窗口中单击“确定”使配置生效。

    配置完成后立即生效,不需要重启服务。

日志格式

HBase的日志格式如下所示:

表3 日志格式

日志类型

组件

格式

示例

运行日志

HMaster

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2020-01-19 16:04:53,558 | INFO | main | env:HBASE_THRIFT_OPTS= | org.apache.hadoop.hbase.util.ServerCommandLine.logProcessInfo(ServerCommandLine.java:113)

RegionServer

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2020-01-19 16:05:18,589 | INFO | regionserver16020-SendThread(linux-k6da:2181) | Client will use GSSAPI as SASL mechanism. | org.apache.zookeeper.client.ZooKeeperSaslClient$1.run(ZooKeeperSaslClient.java:285)

ThriftServer

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2020-02-16 09:42:55,371 | INFO | main | loaded properties from hadoop-metrics2.properties | org.apache.hadoop.metrics2.impl.MetricsConfig.loadFirst(MetricsConfig.java:111)

MetricController

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2023-07-29 18:20:16,374 | WARN | hotspot-analysis-pool1 | Start to analysis later because of empty metric map | com.xxx.hadoop.hbase.metric.analysis.HotspotAnalyzer.analysisHotspot(HotspotAnalyzer.java:118)

审计日志

HMaster

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2020-02-16 09:42:40,934 | INFO | master:linux-k6da:16000 | Master: [master:linux-k6da:16000] start operation called. | org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:581)

RegionServer

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2020-02-16 09:42:51,063 | INFO | main | RegionServer: [regionserver16020] start operation called. | org.apache.hadoop.hbase.regionserver.HRegionServer.startRegionServer(HRegionServer.java:2396)

ThriftServer

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

2020-02-16 09:42:55,512 | INFO | main | thrift2 server start operation called. | org.apache.hadoop.hbase.thrift2.ThriftServer.main(ThriftServer.java:421)

MetricController

<yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置>

-