新集群导入数据,某一kv节点down且leader数量为0

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】场景+问题概述
使用load data local infile指令向tidb导入csv文件,导入过程出现如图状况

查看107的存储空间可以发现还有很多,为何会报low store,而由于low store,107节点上无leader


数据似乎是在正常导入的,请问以上出现状况如何解决

【背景】做过哪些操作

【现象】业务和数据库现象

【业务影响】

【TiDB 版本】

【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

  • 对应模块日志(包含问题前后1小时日志)

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

1 个赞

先给一下 down 掉的 tikv 日志吧

链接: https://pan.baidu.com/s/1d0Vc8K7YvYzJR2MNaGJNdg 密码: 8b9n

参考了一下其他帖子leader为0的问题,检查了一下调度器,并没有evict-leader-scheduler调度器

store状态如下:

store
{
“count”: 3,
“stores”: [
{
“store”: {
“id”: 5,
“address”: “10.12.5.106:20160”,
“version”: “4.0.6”,
“status_address”: “10.12.5.106:20180”,
“git_hash”: “ca2475bfbcb49a7c34cf783596acb3edd05fc88f”,
“start_timestamp”: 1623638213,
“deploy_path”: “/tidb-deploy/tikv-20160/bin”,
“last_heartbeat”: 1623938472359532544,
“state_name”: “Up”
},
“status”: {
“capacity”: “320TiB”,
“available”: “288.7TiB”,
“used_size”: “756.9GiB”,
“leader_count”: 8812,
“leader_weight”: 1,
“leader_score”: 8812,
“leader_size”: 828450,
“region_count”: 17630,
“region_weight”: 1,
“region_score”: 1658159,
“region_size”: 1658159,
“start_ts”: “2021-06-13T22:36:53-04:00”,
“last_heartbeat_ts”: “2021-06-17T10:01:12.359532544-04:00”,
“uptime”: “83h24m19.359532544s”
}
},
{
“store”: {
“id”: 1,
“address”: “10.12.5.107:20160”,
“version”: “4.0.6”,
“status_address”: “10.12.5.107:20180”,
“git_hash”: “ca2475bfbcb49a7c34cf783596acb3edd05fc88f”,
“start_timestamp”: 1623749819,
“deploy_path”: “/tidb-deploy/tikv-20160/bin”,
“last_heartbeat”: 1623783687842065651,
“state_name”: “Down”
},
“status”: {
“capacity”: “0B”,
“available”: “0B”,
“used_size”: “0B”,
“leader_count”: 0,
“leader_weight”: 1,
“leader_score”: 0,
“leader_size”: 0,
“region_count”: 17630,
“region_weight”: 1,
“region_score”: 1658159,
“region_size”: 1658159,
“start_ts”: “2021-06-15T05:36:59-04:00”,
“last_heartbeat_ts”: “2021-06-15T15:01:27.842065651-04:00”,
“uptime”: “9h24m28.842065651s”
}
},
{
“store”: {
“id”: 4,
“address”: “10.12.5.105:20160”,
“version”: “4.0.6”,
“status_address”: “10.12.5.105:20180”,
“git_hash”: “ca2475bfbcb49a7c34cf783596acb3edd05fc88f”,
“start_timestamp”: 1623638193,
“deploy_path”: “/tidb-deploy/tikv-20160/bin”,
“last_heartbeat”: 1623938473296622285,
“state_name”: “Up”
},
“status”: {
“capacity”: “320TiB”,
“available”: “288.7TiB”,
“used_size”: “756GiB”,
“leader_count”: 8818,
“leader_weight”: 1,
“leader_score”: 8818,
“leader_size”: 829709,
“region_count”: 17630,
“region_weight”: 1,
“region_score”: 1658159,
“region_size”: 1658159,
“start_ts”: “2021-06-13T22:36:33-04:00”,
“last_heartbeat_ts”: “2021-06-17T10:01:13.296622285-04:00”,
“uptime”: “83h24m40.296622285s”
}
}
]
}

看你的日志中,这个 107 的 tikv 没有重启相关的信息啊,你这个 store 目前处于 down 的状态?能启动吗?


手动重启kv节点后能够起来,leader数量也恢复正常了,但似乎每次导入数据就会出现如上错误,请问是为什么呢

这个需要看 down 掉的原因了:可以通过 Welcome 来定位日志中重启时的位置,然后看看 Welcome 之前的 日志能,找到异常信息,看看 down 掉的原因(目前的信息,都是现象,没发分析)

如图,一开始导入数据107节点就会down,以下是107节点的日志,烦请分析一下原因,如果需要其他信息请随时提出
链接: https://pan.baidu.com/s/1kDmp9lMKuaZ1laKgYdSKMQ 密码: 2jr3

看日志显示 tikv 是收到外部信号退出的,所以需要咱们看一下 系统相关的日志,看一下为什么退出

您好,现在集群的机器有点问题,暂时拉不到最新的日志,我把signal关键字搜索了一下找到https://pingkai.cn/tidbcommunity/forum/t/topic/69859这个帖子,但我的集群版本是4.0.6的,请问有可能是同样问题,需要注释掉启动脚本的malloc吗

1、建议先看系统日志,有没有相关日志
2、上面说的 去掉 malloc 参数,可以尝试一下的(不过 估计下次启动的时候,可能会被覆盖,目前应该没有好的办法,一次性修改)

还想追问一下,系统日志是指什么日志,pd,db还是kv?

1、系统日志指 操作系统日志(/var/log/message),signal 15 其实类似于 咱们执行的 kill 操作或者 ctrl +C 操作,所以想让咱们看看 系统日志。

在查看了kv机器上一些相关日志信息如下,按左上,右上,中下顺序依次是105,106,107节点


可以看到107节点确实与zheng chan正常节点有所不同,请问接下来该如何进一步分析

得先确认一下: 现在 这个 节点,还会发生 重启吗?看日志好像 最晚 18号发生的重启。
1、进入 /var/log/messages 找到最后一次 killed 相关的日志,看看有没有内容(建议你也发帖子上一份,我也能看一下)


抱歉,现在集群中pd所在机器出了点故障暂时无法访问,正在修复中,数据库目前还用不了,无法复现问题,但可以肯定的是,只要往集群导入数据,该问题就必定发生。
107上没有/var/log/message,只有根据时间划分的多个messages,您看一下有没有什么相关内容
messages.zip (75.3 KB)

看了一下,没有相关内容。哪方便给一下 107 的 tikv 日志吗

107日志如下
tikv107.log (103.5 KB)

:joy: 我得确认一个信息:
1、咱们集群的配置如何啊。看了一下日志,发现好像咱们这台 tikv 节点,经常出现落后的情况
2、咱们这是生产环境吗?可以升级到 v5.0.2 版本吗(高版本的 对 compaction 有优化)

1、集群的配置比较差,没有ssd,三个kv存储节点挂载的是华为云存储
2、不是生产环境,但也无法升级到5.0版本,因为官方文档要求的ssd,我新建这个集群的时候就想弄5.0的,但是建完后会因为磁盘检测通不过无法启动。