systemctl status tidb-4000状态正常 但是4000端口没有正常启动,这个有人遇到过么

一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题

【TiDB 使用环境】生产环境 /测试环境
【TiDB 版本】
【部署方式】云上部署(什么云)/机器部署
【操作系统/CPU 架构/芯片详情】
【机器部署详情】CPU大小/内存大小/磁盘大小
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】


1 个赞

1 个赞

是否有可能是ddl导致卡住

启动日志有木有错误信息啊

可以用 journalctl -u tidb --since “30 min ago” 这个命令 看看 近30分钟的日志

1 个赞

没有呢就在这个ddl那里卡住了

1 个赞

是不是端口冲突了

1 个赞

没有端口冲突

1 个赞

整个集群重启,等了十分钟起来了 :innocent:

1 个赞

1 个赞

遇到过,常见原因是进程僵死或者端口被防火墙/安全组挡了。先确认下:

  1. ss -lntp | grep 4000 看端口是否真的没监听
  2. ps aux | grep tidb-server 看进程状态,如果进程在但端口没起,可能是启动时端口绑定失败,查一下 tidb.log 最后几行有没有 bind 报错
  3. 如果 systemctl 显示 active 但实际端口没监听,试试 systemctl restart tidb-4000,然后立刻看日志

另外,如果部署在云上,检查安全组和 iptables 规则,有时候 systemctl 正常但端口被外部规则拦了。先贴下 tidb.log 末尾日志,方便进一步判断。

1 个赞

不太一样,我整个重启等了10分钟就好了,不知道是不是ddl作业太多了,加载太久导致的,端口啥的查过没被占用,防火墙也ok

1 个赞

systemctl status 显示 active 只说明进程没崩溃退出,不代表应用层已经正常监听端口。TiDB 启动时需要从 PD 获取集群元信息、连接 TiKV 扫描 region 等,如果底层存储 IO 瓶颈导致这些步骤超时,就会出现"进程在但端口不通"的假活状态。

1 个赞

进程在,端口没有,难道有bug吗

启动时间太长了,纯慢

15.48.04这里有错误,上面有PD switch