集群tikv持续报错

【 TiDB 使用环境】测试
【 TiDB 版本】v7.5.1
【复现路径】无
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

数据库响应比较慢,tikv占用内存比较大,40G,服务器一共64G内存。并且发现tikv持续报错:

[2024/07/30 10:44:54.419 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 4-DEADLINE_EXCEEDED, message: \"Deadline Exceeded\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:44:56.419 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 4-DEADLINE_EXCEEDED, message: \"Deadline Exceeded\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:44:57.032 +08:00] [ERROR] [client.rs:743] ["failed to send heartbeat"] [err_code=KV:Pd:Grpc] [err=Grpc(RemoteStopped)] [thread_id=0x5]
[2024/07/30 10:44:57.032 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 14-UNAVAILABLE, message: \"not leader\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:44:58.033 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 14-UNAVAILABLE, message: \"not leader\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:45:03.737 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 4-DEADLINE_EXCEEDED, message: \"Deadline Exceeded\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:45:03.908 +08:00] [ERROR] [pd.rs:1476] ["store heartbeat failed"] [err="Grpc(RpcFailure(RpcStatus { code: 4-DEADLINE_EXCEEDED, message: \"Deadline Exceeded\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:45:03.909 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 4-DEADLINE_EXCEEDED, message: \"Deadline Exceeded\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:45:03.913 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 4-DEADLINE_EXCEEDED, message: \"Deadline Exceeded\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:45:05.112 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 14-UNAVAILABLE, message: \"not leader\", details: [] }))"] [thread_id=0x5]
[2024/07/30 10:45:05.113 +08:00] [ERROR] [util.rs:496] ["request failed, retry"] [err_code=KV:Pd:Grpc] [err="Grpc(RpcFailure(RpcStatus { code: 14-UNAVAILABLE, message: \"not leader\", details: [] }))"] [thread_id=0x5]

从提供的日志信息来看,TiDB集群中的TiKV节点遇到了多个问题,主要集中在gRPC请求失败,具体表现为Deadline Exceedednot leader的错误。这些错误通常与网络延迟、集群内部通信异常或PD(Placement Driver)的Leader选举问题有关。

PD只有一个节点,并且这个节点是leader,应该不存在选主问题。

通过配置参数限制可用内存后,配置没有生效,实际使用内存大于设置值。
image

执行下SHOW config WHERE NAME LIKE ‘%storage.block-cache.capacity%’;
看看生效没,这个机器上混合部署了1个tikv,一个tidb-server,一个pd啊

看看swap是否被彻底关闭了,在内存不足的时候,如果swap也被彻底关闭了,则可能会报Deadline Exceeded的信息

是的,查了生效了,但是实际没起作用,很奇怪
image

没有关闭
image

storage.block-cache.capacity这个参数一般肯定能限制主tikv总内存不会超过这个的2.25倍吧,你这设置10G,都超过40G了?。。。。这真没见过

:thinking:对啊,搞不懂。只能等再看看了,不行就重装了

可以看下 tikv-details 里面的memory 部分 几个 panel ,有没有明显异常的内存使用 ,block cache 只是 tikv 内存的一部分,并不能限制整个 tikv 内存使用量

有看磁盘的时延吗?之前我们遇到过类似的报错(code: 14-UNAVAILABLE),最后发现根源是磁盘的时延太高,不少时间的平均时延在100ms以上,导致业务SQL执行很慢并有堆积导致TiKV的内存飙升,后面换了池磁盘集群就恢复正常了。

:thinking:这个倒是有可能,我们这个是机械盘。

问题解决了不?

算是解决了,感觉是因为只部署了一个tikv节点,但是配置里设置的是3副本,一直在尝试补齐副本。

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