生产Tiflash可以设置单副本吗?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】

请问大大们:生产环境中:tiflash可以设置单副本吗? tidb会自动判断tiflash可用性吗?如果不可用自动查询tikv
刚看到如下文档,那意思是tidb没有判断可用性,那就是说生产tiflash不能设置单副本吗?

可以设置这个参数,但是生产环境最好设置2个副本,保障高可用。如果设置了这个参数,当tiflash 出现问题后,所有的查询到tikv ,可能会造成一些其他的影响

tidb_allow_fallback_to_tikv 从 v5.0 版本开始引入

  • 作用域:SESSION | GLOBAL
  • 是否持久化到集群:是
  • 默认值:“”
  • 这个变量表示将 TiKV 作为备用存储引擎的存储引擎列表。当该列表中的存储引擎发生故障导致 SQL 语句执行失败时,TiDB 会使用 TiKV 作为存储引擎再次执行该 SQL 语句。目前支持设置该变量为 “” 或者 “tiflash”。如果设置该变量为 “tiflash”,当 TiFlash 返回超时错误(对应的错误码为 ErrTiFlashServerTimeout)时,TiDB 会使用 TiKV 作为存储引擎再次执行该 SQL 语句。

好的,感谢~
单副本出问题可能有哪些影响呢?

单副本没有高可用,任何一台tiflash 出问题,tiflash 都可能不能使用

tiflash单节点最大的问题,就是本来可能你有很多olap sql,在有tiflash的时候跑的很好,然后正常的oltp sql走tikv也没问题,但是tiflash副本一挂,如果你没开启 tidb_allow_fallback_to_tikv这个参数,你的所有走tiflash的sql全部报错,而你开启了 tidb_allow_fallback_to_tikv这个参数,有可能导致你的tikv压力倍增甚至直接压垮,然后你所有的正常oltp业务都会受影响,所以建议还是最起码2个节点。

起码2个节点 并且2个副本是吧?

对啊,你单节点是设置不了两个副本的

好的,没那么多服务器~~ :tired_face:

我是想问,如果是单副本情况下 并且 设置了这个参数。 tidb_allow_fallback_to_tikv = ’tiflash’
单副本出问题,可能有哪些问题呢?

我们的业务OLAP的量不大,可能不会像上面老哥说的,tiflash出问题 olap请求到tikv压力受不了的情况。
我们业务OLAP不大,但我想要确保他是可用的,切到tikv慢一点没关系。但是要可用,别报错查不了就行

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