为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0.6
- 【问题描述】:两张截图对应于两个不同的tikv节点,但是都起不来
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
麻烦提供以下信息:
请问 sync-log 参数开了吗,是发生了异常宕机的情况么?
tikv 日志过多能不能提供一下tikv 重启时的日志
sync-log这个参数没有修改,应该是默认的true;
里面截的日志,是一部分,最近几天其他日志大概都是这样,只是一直不停在打
这台机器没有宕过机,这个是刚装好集群之后没几天就挂了,另外一台服务器宕过机
tikv.log (18.8 KB)
那麻烦查询一下目前副本数不为 3 的 region
https://pingcap.com/docs-cn/dev/reference/tools/pd-control/#根据副本数过滤-region
如果有副本数不为 3 的 region,查看一下具体对应的 region 信息
https://pingcap.com/docs-cn/dev/reference/tools/pd-control/#region-region_id-jqquery-string
根据pd没有查出来异常的region,是不是我命令用的不对啊
» region --jq=".regions[] | {id: .id, peer_stores: [.peers[].store_id] | select(length != 3)}"
通过这个命令看下呢
执行报错了
看下系统是否安装了 jq 命令
使用命令扫描日志也没有发现问题
grep panic 1/deploy/log/tikv.log | grep region|grep -oP ‘region [0-9]*’|sort|uniq -c
集群一共分配了6个tikv节点,分布在三台机器上,副本数是默认的
集群访问一直没有问题,读写都没有问题,tidb平时没有错误
执行ansible-playbook stop.yml和ansible-playbook start.yml之后,那个节点还是还是起不来
磁盘不是ext4的,是centos7默认的文件系统
那目前可以缩容这两个tikv 节点,并更换 tikv 节点 port 后重新扩容上线加入集群
找研发确认了一下,tikv-ctl 报错是因为同时指定了 host 和 db 导致的,所以这个只能本地方式执行
看监控 region 都是正常的,可以进行缩容并扩容的方式恢复集群,另外建议文件系统使用官方推荐的 ext4 格式,并加上 nodelalloc 参数挂载