修改tidb server参数

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

  • 【TiDB 版本】:4.0.6
  • 【问题描述】:要配置biglog,请问修改tidb server的如下参数后,需要重启tidb server吗?
    binlog.enable: true
    binlog.ignore-error: true
    使用 tiup cluster edit-config ${cluster-name} 进行修改。

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

修改完参数之后需要通过 tiup cluster reload 集群。

修改参数,reload的时候报错:
Error: xx.xx.xx.xx failed to restart: timed out waiting for port 4000 to be started after 2m0s: timed out waiting for port 4000 to be started after 2m0s

Verbose debug logs has been written to /home/tihexa/logs/tiup-cluster-debug-2020-11-06-10-51-35.log.
Error: run /home/tihexa/.tiup/components/cluster/v1.2.0/tiup-cluster (wd:/home/tihexa/.tiup/data/SFWe1Gu) failed: exit status 1

请在报错的 tidb server 上查看下日志信息,看下是什么原因导致报错的。

是不是配置binlog.enable参数以后,必须先安装PUMP才行,我现在还没有安装PUMP组件呢

开启 binlog 和安不安装 pump 没有什么关系,建议检查下对应 tidb server 的日志信息

[2020/11/06 11:20:36.434 +08:00] [FATAL] [terror.go:348] [“unexpected error”] [error=“no pump found in pd”] [stack=“github.com/pingcap/parser/terror.MustNil\ \t/home/jenkins/agent/workspace/tidb_v4.0.6/go/pkg/mod/github.com/pingcap/parser@v0.0.0-20200911054040-258297116c4b/terror/terror.go:348\ main.setupBinlogClient\ \t/home/jenkins/agent/workspace/tidb_v4.0.6/go/src/github.com/pingcap/tidb/tidb-server/main.go:289\ main.main\ \t/home/jenkins/agent/workspace/tidb_v4.0.6/go/src/github.com/pingcap/tidb/tidb-server/main.go:177\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:203”] [stack=“github.com/pingcap/parser/terror.MustNil\ \t/home/jenkins/agent/workspace/tidb_v4.0.6/go/pkg/mod/github.com/pingcap/parser@v0.0.0-20200911054040-258297116c4b/terror/terror.go:348\ main.setupBinlogClient\ \t/home/jenkins/agent/workspace/tidb_v4.0.6/go/src/github.com/pingcap/tidb/tidb-server/main.go:289\ main.main\ \t/home/jenkins/agent/workspace/tidb_v4.0.6/go/src/github.com/pingcap/tidb/tidb-server/main.go:177\ runtime.main\ \t/usr/local/go/src/runtime/proc.go:203”]

我先安装pump,然后再开启binlog参数,OK了,看来是有顺序的。

从日志中看 tiup 在开启 binlog 后还是会去检测 tidb 有无安装 pump,那建议在未配置 pump 的情况下暂时关闭 binlog 配置吧,之前的理解有误;另外推荐使用 ticdc 工具进行数据同步,ticdc 解决了 tidb-binlog 的高可用问题且不需要开启 binlog。