【TDengine /测试
【TDengine 版本】3.3.4.8
【操作系统以及版本】centos7
【部署方式】非容器
【集群节点数】3
【集群副本数】1
【描述业务影响】应用经常报这个认证错误,测试用户密码都没问题,一般重启应用就好了, 好像只出现在集群环境 有遇到过的吗
【问题复现路径/shan】没有
【遇到的问题:问题现象及影响】
好像其他环境的一个集群也出现过
【资源配置】
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)
根据上面的描述和贴图来看,你目前的主要问题是数据库连接不稳定,偶尔会出现用户密码校验失败,重启集群之后又正常了。
这至少说明了以下几个问题:
建议按顺序尝试以下方案,从改动最小、效果最直接的开始:
autoReconnect 特性 ,这能让驱动在连接异常时自动重试,应用也能及时获得一个健康连接。WebSocket 连接配置示例:@ 转为 %40 )。yaml
spring.datasource.hikari.connection-test-query=select server_status() spring.datasource.hikari.validation-timeout=5000 spring.datasource.hikari.idle-timeout=60000
这能让连接池在分配连接前验证其有效性,避免将坏连接交给应用。
/etc/taos/taos.cfg 中关注日志,确保各节点时间差控制在 5 秒以内,建议用 NTP 服务同步。老师,我不是重启集群恢复的,是重启业务应用恢复的,后面还会偶发这个问题,下面是我的nacos对应的tdengine配置
tdengine:
enable: true
replicas: 1
bufferSize: 64
# 地址账号密码区分环境
url: 10.0.0.89:16041
driver-class-name: com.taosdata.jdbc.TSDBDriver
username: ot_taosd
#password: ENC(94n8cefxneRKiFMGD4RjS9ycDCW4NGRE)
password: SLXjsd^gdd(ss12
pool-config:
initial-size: 5 # 初始化对象池大小
min-idle: 0 # 对象池最小空闲对象数, 默认是0
max-idle: 8 # 对象池最小空闲对象数, 默认是8
max-active: 8
max-total: 8 # 对象池最大可用对象数, 默认8
max-wait-millis: -1 # 获取对象是最大等待时间
test-on-borrow: true # 从对象池中借出对象时是否进行测试,默认为 false
test-on-return: false # 返回给对象池时是否测试对象可用,默认为 false
test-while-idle: true # 处于idle队列中即闲置的对象是否被驱逐器进行驱逐验证