链路追踪cat安装错误分析

部署cat版本为V3.1.0。docker安装。

docker启动错误信息如下:

log4j:WARN No appenders could be found for logger (io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
[05-18 13:28:11.011] [INFO] [cat] Cat is lazy initialized!
java.lang.RuntimeException: Error when initializing modules! Exception: java.lang.RuntimeException: Unable to get component: class com.dianping.cat.analysis.TcpSocketReceiver.

看日志是cat已经加载,但是报错了。造成这个原因是:
主要就是数据库的连接问题。

排查方向:

  1. 数据库用mysql5.7试试
  2. 确保/data/appdatas/cat/datasources.xml的数据库配置是否正确

我的这个错误是,通过官网的docker进行安装,用的环境变量通过datasources.sh脚本写到datasources.xml文件里的。但是写入的时候报错了。(官方提供的脚本是用sed -i进行替换)

替换时报错信息为:

{"log":"sed: can't move '/data/appdatas/cat/datasources.xmlOlohei' to '/data/appdatas/cat/datasources.xml': Resource busy\n","stream":"stderr","time":"2023-07-19T13:06:40.419148982Z"}
{"log":"sed: can't move '/data/appdatas/cat/datasources.xmlAFLabB' to '/data/appdatas/cat/datasources.xml': Resource busy\n","stream":"stderr","time":"2023-07-19T13:06:40.419821155Z"}
{"log":"sed: can't move '/data/appdatas/cat/datasources.xmlKhLLPb' to '/data/appdatas/cat/datasources.xml': Resource busy\n","stream":"stderr","time":"2023-07-19T13:06:40.420463023Z"}
{"log":"sed: can't move '/data/appdatas/cat/datasources.xmlDDgmFa' to '/data/appdatas/cat/datasources.xml': Resource busy\n","stream":"stderr","time":"2023-07-19T13:06:40.421803972Z"}
{"log":"sed: can't move '/data/appdatas/cat/datasources.xmlMAmfAj' to '/data/appdatas/cat/datasources.xml': Resource busy\n","stream":"stderr","time":"2023-07-19T13:06:40.422388276Z"}

所以写入失败,导致数据库连接不上。

尝试了各种写入方式,都写不进去。最后用的最粗暴的方式,不用环境变量了。直接修改datasources.xml的环境变量参数,替换成真实的值。

再次启动就成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h_and_g

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值