pinpoint是java应用分布式链路追踪apm工具,非系统监控工具;安装失败或数据不显示主因是hbase初始化失败、agent参数错误或端口冲突,需逐层验证agent→collector→hbase双向通信可达性。

Pinpoint 不是传统意义上的“Linux监控工具”,它不采集 CPU、内存、磁盘等系统指标,而是专用于 Java 应用的**分布式链路追踪(APM)**。安装失败或数据不显示,90% 出在 HBase 初始化、Agent 启动参数或端口冲突上。
为什么 hbase shell hbase-create.hbase 执行后没反应或报错
这不是脚本卡住,而是 HBase 服务未就绪或 ZooKeeper 未正常响应。常见现象包括:ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException 或长时间无输出。
- 先确认
HMaster进程存活:jps | grep HMaster,没有则./start-hbase.sh后等 10–20 秒再试 -
hbase-create.hbase必须是与当前pinpoint版本严格匹配的脚本(如 v2.3.3 就得用 v2.3.3 分支下的脚本),不能混用 1.x 和 3.x 的脚本 - 检查
hbase-site.xml中hbase.zookeeper.quorum是否显式设为localhost(单机部署必须写死,不能留空或注释掉) - 执行前手动进 shell 测试连通性:
./hbase shell→ 输入status,返回1 active master, 0 backup masters...才算真正就绪
pinpoint-agent 加了 JVM 参数但 Web UI 看不到应用节点
Agent 启动成功 ≠ 数据已送达 Collector。最常被忽略的是 Collector 地址配置和防火墙。
- JVM 参数中
-Dpinpoint.collector.ip=192.168.204.233的 IP 必须是 Collector 主机的**实际监听 IP**(不是127.0.0.1或localhost),且该主机的9991端口需开放(v2.3+ 默认用此端口接收 span 数据) - Agent 日志(
logs/pinpoint.log)里出现Failed to connect to collector或Connection refused,优先查 Collector 进程是否运行、端口是否被占用(netstat -tuln | grep 9991) - Collector 启动日志末尾必须有
Started PinpointWebApplication in ... seconds(boot 版本)或INFO: Server startup in ... ms(war 版本),否则只是假启动 - Spring Boot 应用加 Agent 时,
-javaagent必须放在-jar之前,顺序错误会导致静默失效
pinpoint-web-boot 启动后页面空白或 500 错误
Web 服务本身跑起来了,但无法连接后端存储或 Collector,典型表现是首页加载缓慢后报 Failed to load resource: net::ERR_CONNECTION_REFUSED。
- 检查
pinpoint-web-boot-*.jar启动时是否传入了正确的配置:必须指定--spring.profiles.active=production,否则默认走 local 配置,连不上 HBase - HBase 表必须已存在且可读写:用
./hbase shell→list确认看到AgentInfo、TraceV2等表;再执行count 'AgentInfo'看是否非零(Agent 上报后才会有数据) - Web 服务依赖的 HBase 客户端版本必须与 HBase 服务端兼容(例如 HBase 1.4.9 要配
hbase-client-1.4.9.jar),boot jar 内嵌的 client 版本不匹配会导致NoClassDefFoundError - 浏览器 F12 查 Network,点开
/applications请求,看响应体是否含"message":"HBase is not available"—— 这说明 Web 层连 HBase 失败,不是前端问题











