org.apache.hadoop.hbase.TableNotFoundException: ApplicationIndex
从报错日志来看,核心问题是 HBase 中缺少ApplicationIndex
表(org.apache.hadoop.hbase.TableNotFoundException: ApplicationIndex
),导致 Pinpoint Web 服务无法正常查询应用数据。这是 Pinpoint 初始化时 HBase 表未正确创建的典型问题,以下是具体分析和解决步骤:
一、问题原因
Pinpoint 的运行依赖 HBase 存储监控数据,其中ApplicationIndex
是核心表之一(用于存储应用名称索引)。该表未创建的可能原因包括:
- HBase 初始化脚本未执行:
pinpointdocker/pinpoint-hbase:2.5.3
镜像默认应包含 Pinpoint 所需表的初始化脚本,但可能因启动顺序、权限或配置问题导致脚本未执行。 - Collector 未成功初始化 HBase 表:Pinpoint Collector 启动时会检查 HBase 表是否存在,若不存在会尝试创建,但若 Collector 连接 HBase 失败(如网络、配置问题),则表创建失败。
- HBase 自身启动异常:HBase 未完全就绪(如 ZooKeeper 连接问题、存储目录权限不足),导致表创建脚本执行失败。
二、解决步骤
1. 确认 HBase 是否正常运行
首先检查 HBase 服务状态,确保其能正常提供服务:
# 查看HBase容器日志,确认是否有启动错误
docker logs pinpoint-hbase# 访问HBase Web管理界面(默认端口16010),确认HBase状态正常
# 浏览器访问:http://<服务器IP>:16010/master-status
</