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

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:[“Release Version”=v3.0.12
  • 【问题描述】:

登陆报错 [root@infaserver99 tidb-docker-compose]# 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 [root@infaserver99 tidb-docker-compose]#

启动 [root@infaserver99 tidb-docker-compose]# docker-compose start Starting pd0 … done Starting pd1 … done Starting pd2 … done Starting tikv0 … done Starting tikv1 … done Starting tikv2 … done Starting tidb … done Starting tidb-vision … done Starting pushgateway … done Starting prometheus … done Starting grafana … done [root@infaserver99 tidb-docker-compose]#

状态 [root@infaserver99 tidb-docker-compose]# docker-compose ps
Name Command State Ports

tidb-docker-compose_grafana_1 /run.sh Up 0.0.0.0:3000->3000/tcp
tidb-docker-compose_pd0_1 /pd-server --name=pd0 --cl … Up 0.0.0.0:9010->2379/tcp, 2380/tcp
tidb-docker-compose_pd1_1 /pd-server --name=pd1 --cl … Up 0.0.0.0:9011->2379/tcp, 2380/tcp
tidb-docker-compose_pd2_1 /pd-server --name=pd2 --cl … Up 0.0.0.0:9012->2379/tcp, 2380/tcp
tidb-docker-compose_prometheus_1 /bin/prometheus --log.leve … Up 0.0.0.0:9090->9090/tcp
tidb-docker-compose_pushgateway_1 /bin/pushgateway --log.lev … Up 9091/tcp
tidb-docker-compose_tidb-vision_1 /bin/sh -c sed -i -e "s/PD … Up 2015/tcp, 443/tcp, 80/tcp,
0.0.0.0:8010->8010/tcp
tidb-docker-compose_tidb_1 /tidb-server --store=tikv … Up 0.0.0.0:10080->10080/tcp,
0.0.0.0:4000->4000/tcp
tidb-docker-compose_tikv0_1 /tikv-server --addr=0.0.0. … Up 20160/tcp
tidb-docker-compose_tikv1_1 /tikv-server --addr=0.0.0. … Up 20160/tcp
tidb-docker-compose_tikv2_1 /tikv-server --addr=0.0.0. … Up 20160/tcp
[root@infaserver99 tidb-docker-compose]#

日志: [root@infaserver99 tidb-docker-compose]# ll logs/
total 12 -rw-r–r-- 1 root root 603 Mar 27 18:10 pd0.log -rw-r–r-- 1 root root 194 Mar 27 18:10 pd1.log -rw-r–r-- 1 root root 3325 Mar 27 18:10 tidb.log -rw-r–r-- 1 root root 0 Mar 27 18:10 tikv0.log -rw-r–r-- 1 root root 0 Mar 27 18:10 tikv1.log -rw-r–r-- 1 root root 0 Mar 27 18:10 tikv2.log [root@infaserver99 tidb-docker-compose]#

pd0日志信息 [root@infaserver99 tidb-docker-compose]# more logs/pd0.log [2020/03/27 10:10:04.953 +00:00] [ERROR] [metricutil.go:71] [“could not push metrics to Prometheus Pushgateway”] [error =“Put http://pushgateway:9091/metrics/job/pd0/instance/2dcba82abee9: dial tcp 172.18.0.7:9091: connect: connection refu sed”] [2020/03/27 10:10:07.057 +00:00] [ERROR] [etcdutil.go:63] [“failed to get cluster from remote”] [error=“could not retri eve cluster information from the given URLs”] [2020/03/27 10:10:07.911 +00:00] [ERROR] [client.go:111] [“region sync with leader meet error”] [error=“rpc error: code = Unknown desc = TiKV cluster not bootstrapped, please start TiKV first”] [root@infaserver99 tidb-docker-compose]#

pd1日志信息 [root@infaserver99 tidb-docker-compose]# more logs/pd1.log
[2020/03/27 10:10:07.953 +00:00] [ERROR] [client.go:111] [“region sync with leader meet error”] [error=“rpc error: code = Unknown desc = TiKV cluster not bootstrapped, please start TiKV first”] [2020/03/27 10:11:51.591 +00:00] [ERROR] [grpclog.go:75] [“transport: Got too many pings from the client, closing the c onnection.”] [2020/03/27 10:11:51.592 +00:00] [ERROR] [grpclog.go:75] [“transport: loopyWriter.run returning. Err: transport: Connec tion closing”] [root@infaserver99 tidb-docker-compose]#

tidb日志信息 [root@infaserver99 tidb-docker-compose]# more logs/tidb.log [2020/03/27 10:10:11.450 +00:00] [INFO] [printer.go:41] [“Welcome to TiDB.”] [“Release Version”=v3.0.12] [“Git Commit H ash”=8c4696b3f3408c61dd7454204ddd67c93501609a] [“Git Branch”=heads/refs/tags/v3.0.12] [“UTC Build Time”=“2020-03-16 09: 56:22”] [GoVersion=“go version go1.13 linux/amd64”] [“Race Enabled”=false] [“Check Table Before Drop”=false] [“TiKV Min Version”=v3.0.0-60965b006877ca7234adaced7890d7b029ed1306] [2020/03/27 10:10:11.450 +00:00] [INFO] [printer.go:54] [“loaded config”] [config="{“host”:“0.0.0.0”,“advertise-ad dress”:“tidb”,“port”:4000,“cors”:"",“store”:“tikv”,“path”:“pd0:2379,pd1:2379,pd2:2379”,“socket”:"" ,“lease”:“0”,“run-ddl”:true,“split-table”:true,“token-limit”:1000,“oom-action”:“log”,“mem-quota-query”: 34359738368,“enable-streaming”:false,“enable-batch-dml”:false,“txn-local-latches”:{“enabled”:false,“capacity” :2048000},“lower-case-table-names”:2,“server-version”:"",“log”:{“level”:“error”,“format”:“text”,“disab le-timestamp”:false,“file”:{“filename”:"/logs/tidb.log",“log-rotate”:true,“max-size”:300,“max-days”:0,“ma x-backups”:0},“slow-query-file”:"",“slow-threshold”:300,“expensive-threshold”:10000,“query-log-max-len”:2048 ,“record-plan-in-slow-log”:1},“security”:{“skip-grant-table”:false,“ssl-ca”:"",“ssl-cert”:"",“ssl-key”: “”,“cluster-ssl-ca”:"",“cluster-ssl-cert”:"",“cluster-ssl-key”:"",“cluster-verify-cn”:null},“status”: {“report-status”:true,“status-host”:“0.0.0.0”,“status-port”:10080,“metrics-addr”:“pushgateway:9091”,“metri cs-interval”:15,“record-db-qps”:false},“performance”:{“max-procs”:0,“max-memory”:0,“tcp-keep-alive”:true,“c ross-join”:true,“stats-lease”:“3s”,“run-auto-analyze”:true,“stmt-count-limit”:5000,“feedback-probability”:0, “query-feedback-limit”:1024,“pseudo-estimate-ratio”:0.7,“force-priority”:“NO_PRIORITY”,“bind-info-lease”:“3s “,“txn-entry-count-limit”:300000,“txn-total-size-limit”:104857600},“prepared-plan-cache”:{“enabled”:false,“ca pacity”:100,“memory-guard-ratio”:0.1},“opentracing”:{“enable”:false,“sampler”:{“type”:“const”,“param”:1, “sampling-server-url”:””,“max-operations”:0,“sampling-refresh-interval”:0},“reporter”:{“queue-size”:0,“buf fer-flush-interval”:0,“log-spans”:false,“local-agent-host-port”:""},“rpc-metrics”:false},“proxy-protocol”:{
“networks”:"",“header-timeout”:5},“tikv-client”:{“grpc-connection-count”:16,“grpc-keepalive-time”:10,“grpc- keepalive-timeout”:3,“commit-timeout”:“41s”,“max-txn-time-use”:590,“max-batch-size”:128,“overload-threshold” :200,“max-batch-wait-time”:0,“batch-wait-size”:8,“region-cache-ttl”:600,“store-limit”:0},“binlog”:{“enable” :false,“write-timeout”:“15s”,“ignore-error”:false,“binlog-socket”:"",“strategy”:“range”},“compatible-kil l-query”:false,“plugin”:{“dir”:"",“load”:""},“pessimistic-txn”:{“enable”:true,“max-retry-count”:256},
“check-mb4-value-in-utf8”:true,“max-index-length”:3072,“alter-primary-key”:false,“treat-old-version-utf8-as-utf8m b4”:true,“split-region-max-num”:1000,“stmt-summary”:{“enable”:false,“max-stmt-count”:200,“max-sql-length”:40 96,“refresh-interval”:1800,“history-size”:24}}"] [root@infaserver99 tidb-docker-compose]#

  1. Docker-compose 是在自己电脑上本机部署么?如果是在本机部署,启动之后会有一段时间会报这个错误,等待一段时间,等 TiDB 集群完全启动就可以
  2. docker container ps -a 可以看下几个容器是否都正常启动运行
  3. 如果是阿里云服务器上,可以看下是否有安全组限制的问题
  4. 如果以上排查都正常,可以提供一下 tidb.log pd.log tikv.log 看下
1 个赞

Docker-compose 是部署在自己电脑的Redhat7的虚拟机上。
ocker container ps -a 可以看到几个容器都正常启动运行。
pd0.log (9.5 KB) pd1.log (9.0 KB) pd2.log (3.6 KB) tidb.log (37.9 KB) tikv0.log (779 字节) tikv1.log (1.3 KB) tikv2.log (1.8 KB)

pd0.log (460 字节) pd1.log (768 字节) pd2.log (603 字节) tidb.log (3.2 KB)

停止tidb集群
docker-compose stop
清空日志文件目录
rm -rf logs/*
启动tidb集群
docker-compose start

生产上述日志文件。TiKV 日志文件为空

你虚拟机的配置是怎么样的?我在自己电脑上用 docker-compose 起 TiDB 的时候,刚启动一开始也会有 'reading initial communication packet 错误,但是过一会等集群完全启动就好了

可以看下虚拟机的资源使用情况,如果只是启动 TiDB 集群,可以考虑把 docker-compose 配置文件中,tidb-version tispark 相关的容器注释掉或者去掉,对资源需求小一点

另外可以考虑搭建 1 个 tidb/1 个 pd/2 个 tikv 集群试下

遇到同样问题,搭建了 1 个 tidb/1 个 pd/2 个 tikv 集群,关闭防火墙,仍报错:
ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0docker-compose.yml (2.8 KB) pd0.log (1.1 KB) tidb.log (13.4 KB)

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。