使用 Docker Compose 快速构建 TiDB 集群后,访问集群出错

  • 【TiDB 版本】:最新版
  • 【问题描述】: Docker Compose 快速构建 TiDB 集群,win10环境cmd下输入mysql -h127.0.0.1 -P 4000 -uroot -p Enter password: ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 观测到tidb-docker-compose_tidb_1,tidb-docker-compose_pd2_1,tidb-docker-compose_pd1_1,tidb-docker-compose_pd0_1,每过几分钟会重启不知道什么问题,另外tidb-docker-compose_tispark-slave0_1,tidb-docker-compose_tispark-master_1,我关闭了,内部环境不使用spark进行分析

麻烦提供一下 log 目录下日志信息 方便的话,顺便提供一下,docker-compose.yml 文件

tidb.log (306.8 KB) pd0.log (209.9 KB) pd1.log (240.6 KB) pd2.log (210.8 KB) docker-compose.yml (5.5 KB)

docker container ps -a 看下有哪些 container 启动了

  1. 可以将 docker-compose.yml 文件中 tispark 相关内容删除掉,如果不需要部署 tispark
  2. docker 的网络有做特殊设置吗,从报错看,是 pd 之间无法相互访问,导致 pd 节点无法正常启动

docker网络用的默认设置

这边建议清理集群后,重新初始化部署试下

我也遇到这个问题了,Docker Compose 部署后使用mysql 连接数据库报error2013,都是根据官网的操作一步步来的,用的是阿里云的服务器,是跟安全组的配置有关吗

有可能与阿里云服务器得网路安全组限制有关

在阿里云Centos 7.3 上重新使用docker cpmpose部署TiDB集群,没有报错,可以正常使用

安全组需要配置所有的port吗,还是只配置4000就可以连接数据库

如果是 putforward 方式,那么只要开通你 映射出来的端口即可。如果是 nodeport 方式 那么每一台 4000 端口都要开通。

使用docker cpmpose重新部署了还是报error2013错误,tidb.log 里面报错terror.go:344: [fatal] [pd] failed to get cluster id,Grafana 监控页面可以登录,Linux上面已经安装了一个完整的MySQL数据库,跟这个有关系吗,还是需要卸载MySQL,只安装一个客户端

你先确认一下 集群是否正常的,可以通过 Grafana 监控看 集群 tidb tikv pd 的状态

和 Hacker_9R2AmmAl一样,使用docker compose部署也会报2013错误。
【TiDB版本】:最新版
【开发环境】:window 10,系统已安装有mysql8.0
【问题描述】:
1.pd0.log里报错:failed to create WAL
2.tidb.log里报错:error=“[pd] failed to get cluster id”

docker container ps -a下确认

Grafana 显示无instance和namespace
pd无状态数据


tidb有状态数据

tikv有状态数据

pd2.log (35.4 KB) tidb.log (42.1 KB) pd0.log (35.4 KB) pd1.log (35.4 KB)

请问后面您怎么解决的啊? 这就没有人回复了吗

之前的帖子可能由于时间过久,未答复及时,您现在有什么问题,请发新帖提问,多谢。

通过mysql -h 127.0.0.1 -P 4000 -u root 访问集群报如下错误
ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0
然后我telnet 127.0.0.1 4000 报Connection closed by foreign host.
再然后我又重启docker-compose up -d 报如下错误:
ERROR: for tidbdockercompose_tidb_1 UnixHTTPConnectionPool(host=‘localhost’, port=None): Read timed out. (read timeout=60)
ERROR: for tidb UnixHTTPConnectionPool(host=‘localhost’, port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

还没搞定

我已经将docker-compose.yml 文件中 tispark 相关内容注释掉重启的,还是不行