TIKV如果只有2个节点会影响到什么吗

一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题

【TiDB 使用环境】生产环境 /测试环境
【TiDB 版本】 v8.5.5
【部署方式】机器部署
【操作系统/CPU 架构/芯片详情】
【机器部署详情】CPU大小/内存大小/磁盘大小
32核 128G内存 1T固态
【集群数据量】
【集群节点数】 2个tikv,tidb节点
【问题复现路径】如果我只有两个tikv和tidb的节点,使用中会遇到什么问题吗?
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

1 个赞

tikv 只有 2 个:部署的时候需要指定副本数为 2,但这样的话就没有高可用了
tidb 是无状态的,满足业务需求的情况下几个实例都可以

如果我只有两个节点,此时指定的副本还是3,现在使用tiflash时一直报1105错误,报错日志是MPP执行任务崩溃了,会不会跟节点这里有关系呢?

没啥影响,就是高可用没了,有一个出问题就停机了

想再请教您,您说的这个高可用没了会影响到我使用tiflash吗?我现在遇到tiflash一使用就报错的问题,AI大模型给出的结果是让部署第三个tikv节点.而且我已经重新部署过tiflash,重新扩容都没解决报错1105-Exceprtion,日志里是MPP执行任务崩溃

没有影响,高可用功能不可用。

你把报错相关日志贴出来看看

应该没关系。你可以发一下具体的报错日志,或者从tiflash 的日志排查下是不是 tiflash 本身的问题

一旦使用tiflash就会报错1105-Exception,而且日志中明确tiflash分给mpp的任务失败:
[2026/05/25 13:18:57.495 +08:00] [WARN] [MPPHandler.cpp:104] [“dispatch task meet error : Exception”] [thread_id=142]
[2026/05/25 13:18:57.495 +08:00] [WARN] [MPPTask.cpp:751] [“Begin abort task: MPP<gather_id:1, query_ts:1779686337493690598, local_query_id:40, server_id:1236, start_ts:466534095244754949,task_id:1>, abort type: ONERROR”] [source=“MPP<gather_id:1, query_ts:1779686337493690598, local_query_id:40, server_id:1236, start_ts:466534095244754949,task_id:1>”] [thread_id=142]
[2026/05/25 13:18:57.495 +08:00] [WARN] [MPPTask.cpp:766] [“Finish abort task from uninitialized”] [source=“MPP<gather_id:1, query_ts:1779686337493690598, local_query_id:40, server_id:1236, start_ts:466534095244754949,task_id:1>”] [thread_id=142]
这是报错日志,刚才上面老师给指导了一下,我目前在准备重新扩容tiflash尝试一下

这个好像没有什么关系吧

如果要符合高可用的话,最好三个节点,不过新的企业版 敏捷模式 支持 2副本+1 仲裁,也能实现高可用。

  1. 掉了一个tikv节点,集群的服务会停掉
  2. 永久掉了一个tikv节点,需要执行有损恢复才能让集群恢复可用,不保证恢复后数据与恢复前的一致性

现在我把第三台tikv的节点加上了,前天测试过一下,主动关掉一台服务器模拟宕机一台tikv后,只有两个节点的集群宕机一台就整个都不能用了,为了保证高可用立马加上第三个节点了

恢复的时候就说是集群有变化,有一个new_collation_enabled在备份快照里是false,集群后来是true了,把整个库删掉重新跑了一份,tiflash可以用了,最后确定问题是出在tikv里,与tiflash组件无关了

这个操作有问题。 collation 要统一,不然底层存储不兼容。。。。

高可用功能不可用。

1个tikv节点也能运行

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