你好
日志中出现大量 connection is already closed
bad connection
请检查上下游数据库的状态是否正常,tidb 是否出现 oom,dmesg -T | grep -i oom
你好
日志中出现大量 connection is already closed
bad connection
请检查上下游数据库的状态是否正常,tidb 是否出现 oom,dmesg -T | grep -i oom
[root@datastore3 log]# tail -f dm-worker-stderr.log
[mysql] 2020/04/20 06:25:32 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:32 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:32 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:32 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:32 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:52 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:52 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:52 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:52 connection.go:99: invalid connection
[mysql] 2020/04/20 06:25:52 connection.go:99: invalid connection
是否和 inventory.ini 配置文件的有关系?之前你们说这个gtid 要关闭,我这个没关,dm-worker ,以及task_advanced.yaml 这里面都禁用gtid了
[dm_worker_servers]
dm-worker1 ansible_host=10.1.0.X source_id="mysql-replica-boe" server_id=353306 relay_binlog_name="mysql-bin.006834" enable_gtid=true relay_binlog_gtid="704aa4cd-eaab-11e9-a391-ac1f6b41525a:1-890944214,1961de6e-db49-11e9-9eb7-ac1f6b41525a:1-2639441422,22863285-e03a-11e9-a452-ac1f6b403494:1-8454425" mysql_host=10.1.0.X mysql_user=tidb mysql_password='5rb+XXXXXX18g==' mysql_port=3306
inventory.ini
## DM modules
[dm_master_servers]
dm_master ansible_host=10.1.0.87 deploy_dir=/data/dm
[dm_worker_servers]
dm-worker1 ansible_host=10.1.0.95 source_id="mysql-replica-boe" server_id=353306 relay_binlog_name="mysql-bin.006834" enable_gtid=true relay_binlog_gtid="704aa4cd-eaab-11e9-a391-ac1f6b41525a:1-890944214,1961de6e-db49-11e9-9eb7-ac1f6b41525a:1-2639441422,22863285-e03a-11e9-a452-ac1f6b403494:1-8454425" mysql_host=10.1.0.34 mysql_user=tidb mysql_password='5rbXXXXXXXIh18g==' mysql_port=3306
[dm_portal_servers]
dm_portal ansible_host=10.1.0.87
## Monitoring modules
[prometheus_servers]
prometheus ansible_host=10.1.0.87
[grafana_servers]
grafana ansible_host=10.1.0.87
[alertmanager_servers]
alertmanager ansible_host=10.1.0.87
## Global variables
[all:vars]
cluster_name = dm-cluster
ansible_user = tidb
dm_version = v1.0.4
deploy_dir = /data/dm
grafana_admin_user = "XXXX"
grafana_admin_password = "XXXX"
# Master Configuration.
log-file = "dm-master.log"
master-addr = ":8261"
[[deploy]]
source-id = "mysql-replica-boe"
dm-worker = "10.1.0.95:8262"
# Worker Configuration.
# Log configuration.
log-level = "info"
log-file = "dm-worker.log"
server-id = 353306
source-id = "mysql-replica-boe"
flavor = "mysql"
relay-dir = "./relay_log"
enable-gtid = true
relay-binlog-name = "mysql-bin.006834"
#relay-binlog-pos = "13846233"
relay-binlog-gtid = "1961de6e-db49-11e9-9eb7-ac1f6b41525a:1-2639441422,22863285-e03a-11e9-a452-ac1f6b403494:1-8454425,704aa4cd-eaab-11e9-a391-ac1f6b41525a:1-890826277"
#charset of DSN of source mysql/mariadb instance
charset = ""
meta-dir = ""
[from]
host = "10.1.0.34"
user = "tidb"
password = "5rb+uXXXXXXXIh18g=="
port = 3306
#relay log purge strategy
[purge]
interval = 3600
expires = 0
remain-space = 15
# Task status checker.
[checker]
check-enable = true
backoff-rollback = "5m"
backoff-max = "5m"
name: mysql-replica-boe
task-mode: incremental
is-sharding: true
meta-schema: "dm_meta"
remove-meta: false
enable-heartbeat: false
online-ddl-scheme: "pt"
ignore-checking-items: ["table_schema"]
target-database:
host: "10.1.0.5"
port: 4000
user: "root"
password: "XXXX"
black-white-list:
bw-rule-1:
do-dbs: ["infXXXy_boe", "warningXXXX_boe"]
mydumpers:
global:
mydumper-path: "./bin/mydumper"
threads: 4
chunk-filesize: 64
skip-tz-utc: true
extra-args: "--no-locks"
loaders:
global:
pool-size: 16
dir: "./dumped_data"
syncers:
global:
worker-count: 1
batch: 1
safe-mode: true
mysql-instances:
-
source-id: "mysql-replica-boe"
meta:
binlog-name: mysql-bin.006834
#binlog-pos: 13846233
binlog-gtid: "1961de6e-db49-11e9-9eb7-ac1f6b41525a:1-2639441422,22863285-e03a-11e9-a452-ac1f6b403494:1-8454425,704aa4cd-eaab-11e9-a391-ac1f6b41525a:1-890826277"
black-white-list: "bw-rule-1"
mydumper-config-name: "global"
loader-config-name: "global"
syncer-config-name: "global"
mydumper-thread: 4
loader-thread: 16
syncer-thread: 16
您好: 1. inventory.ini里,如果配置了gtid,不要再配置binlog name。修改后,重启task 多谢。
现在提示这个错误:
之前已经把 日志文件都拉取到relay_log 目录下了,会不会受这个gtid 影响要重新拉取Binlog ? 但是上游mysql的binlog 已经过期了,部分日志文件已经没了
{
"result": false,
"msg": "[code=20003:class=dm-master:scope=internal:level=medium] decode task config failed: yaml: unmarshal errors:\
line 46: field binlog-gtid not found in type config.Meta\
github.com/pingcap/dm/pkg/terror.(*Error).Delegate\
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/pkg/terror/terror.go:267\
github.com/pingcap/dm/dm/config.(*TaskConfig).Decode\
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/config/task.go:319\
github.com/pingcap/dm/dm/master.(*Server).generateSubTask\
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/master/server.go:1851\
github.com/pingcap/dm/dm/master.(*Server).StartTask\
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/master/server.go:230\
github.com/pingcap/dm/dm/pb._Master_StartTask_Handler\
\t/home/jenkins/agent/workspace/build_dm_master/go/src/github.com/pingcap/dm/dm/pb/dmmaster.pb.go:2355\
google.golang.org/grpc.(*Server).processUnaryRPC\
\t/go/pkg/mod/google.golang.org/grpc@v1.25.1/server.go:1007\
google.golang.org/grpc.(*Server).handleStream\
\t/go/pkg/mod/google.golang.org/grpc@v1.25.1/server.go:1287\
google.golang.org/grpc.(*Server).serveStreams.func1.1\
\t/go/pkg/mod/google.golang.org/grpc@v1.25.1/server.go:722\
runtime.goexit\
\t/usr/local/go/src/runtime/asm_amd64.s:1357",
"workers": [
]
}
看起来上游已经没有这个位点的binlog了,可以改为一个当前存在的位点信息。