【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】v6.5.0的tidb集群版本,通过kettle等工具,进行大批量数据迁移,写入到Tidb集群里,涉及tiflash加载的大表。会出现2个tiflash双节点的服务全部down掉的问题。
这个问题,tiflash的配置中,有哪些参数可以控制一下,避免出现这个问题呢?
【资源配置】
【附件:截图/日志/监控】
【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】v6.5.0的tidb集群版本,通过kettle等工具,进行大批量数据迁移,写入到Tidb集群里,涉及tiflash加载的大表。会出现2个tiflash双节点的服务全部down掉的问题。
这个问题,tiflash的配置中,有哪些参数可以控制一下,避免出现这个问题呢?
【资源配置】
【附件:截图/日志/监控】
参考官方github上的tiflash的配置这个配置文件:
https://github.com/pingcap/docs/blob/master/tiflash/tiflash-configuration.md
是不是这个参数?
down掉的 原因是什么呢? 日志上有错误描述的
tiflash 配置怎么样呢?
问的是硬件配置…
真的是,给你问答模板了,也不填满…
这些都是只是 error,不是造成 被kill 的原因…
https://docs.pingcap.com/zh/tidb/stable/create-tiflash-replicas#加快-tiflash-副本同步速度
首先确认下tiflash是否和tikv等节点混部,再看下tiflash主机资源情况,再看下上面同步速度参数是否调整过,可以调小一点试试
在 TiDB v6.5.0 版本中,您可以通过调整 TiFlash 的配置参数来避免 TiFlash 服务 down 掉的问题。具体来说,可以考虑调整以下参数:
tikv-client.grpc-connection-count
这个参数控制了 TiFlash 与 TiKV 之间的连接数。默认情况下,TiFlash 会为每个 TiKV 节点创建 4 个连接。如果您的 TiKV 集群比较大,可能需要增加这个参数的值,以便 TiFlash 能够更快地获取数据。您可以在 TiFlash 的配置文件 config.toml
中添加以下配置:[tikv-client]
grpc-connection-count = 16
这将会为每个 TiKV 节点创建 16 个连接。
2. max-server-connections
这个参数控制了 TiFlash 与客户端之间的连接数。默认情况下,TiFlash 会为每个客户端创建 1024 个连接。如果您的客户端数量比较多,可能需要增加这个参数的值,以便 TiFlash 能够更好地处理请求。您可以在 TiFlash 的配置文件 config.toml
中添加以下配置:
[server]
max-server-connections = 4096
这将会为每个客户端创建 4096 个连接。
3. max-background-compactions
这个参数控制了 TiFlash 后台执行的压缩任务数量。默认情况下,TiFlash 会同时执行 4 个压缩任务。如果您的 TiFlash 节点比较强大,可以适当增加这个参数的值,以便 TiFlash 能够更快地完成压缩任务。您可以在 TiFlash 的配置文件 config.toml
中添加以下配置:
[rocksdb]
max-background-compactions = 8
这将会同时执行 8 个压缩任务。
一定要注意资源配置的问题,如果资源不足,也会引发 down 掉的问题
TiFlash 中有几个配置参数可以调整以帮助防止服务停机:
max-merge-region-size:该参数控制 TiFlash 在压缩过程中可以合并的区域的最大大小。 默认情况下,最大大小设置为 1GB。 如果 TiFlash 的 compaction 任务过载,可以增加这个参数,让 TiFlash 合并更大的 region,减少 compaction 任务的总数。
max-background-compactions:该参数控制 TiFlash 可以运行的最大并发后台压缩任务数。 默认情况下,最大任务数设置为 4。如果 TiFlash 有 compaction 任务过载,可以增加这个参数,让 TiFlash 运行更多的并发任务。
max-table-size:该参数控制单个 table 可以加载到 TiFlash 的最大大小。 默认情况下,最大大小设置为 512GB。 如果你正在加载大表到 TiFlash 中,遇到服务宕机的情况,可以减小这个参数来限制每张表的大小,减少对 TiFlash 的影响。
max-server-memory-usage:该参数控制 TiFlash 在每个节点上可以使用的最大内存量。 默认情况下,最大内存使用量设置为节点上总可用内存的 80%。 如果 TiFlash 内存不足,服务宕机,可以减小这个参数来限制 TiFlash 可以使用的内存量,防止节点不堪重负。
监控 TiFlash 的性能并根据需要调整这些参数以保持最佳性能并防止服务停机也很重要。 TiDB 提供了一系列监控和诊断工具,包括 TiDB Dashboard 和 TiUP,可以用来监控 TiFlash 集群的健康和性能,并根据需要进行配置调整。
试过flinkxETL大批量写入,6.5会好很多
楼上几个通过参数来调整可行
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。