lightning全量导入时卡住快一天,求助!!!

1.启动 lightning 后没手动改过 scheduler ;
2.我先调查memory的根本原因,后续再来回复,感谢大佬。

大佬您好:
昨天将一个TiKV下线后,以及调整参数后,经过一晚观察,未曾发生Tikv oom。



于昨晚23:53开启lightning脚本,今天来查看,发现基本都是暂停调度操作。

我将各类日志发上来您帮忙看下:
debug.zip (327.4 KB)
tidb-lightning.log (2.3 MB)

还是不对劲,这些节点都是什么配置?什么部署拓扑?

  1. 基本上 12:16 分之后,就没有推进

  2. 直到今天中午,一个 engine 都没有导完,从磁盘容量也能看出来,基本 lightning 就没工作的样子。

  3. 这一个 engine 到现在没导入完毕

  4. 还有,这个 profile 我给的有定问题,得把 10080 换成 lightning 的端口 :joy:,我看半天还纠结咋全是 tidb 的函数,原来是我给错了。抱歉!!!,不过,其实不用采了,看日志基本能看出情况。

    curl http://{TiDBIP}:10080/debug/zip?seconds=60 --output debug.zip
    
  5. 这个 pause 是定期 tick(5min) 打出来的,只要确认,scheduler 都被 pause 了就行(tiup ctl pd … 确认下)。我的意思是,只要第一次 pause 成功,后面就进 for 里一直打日志了,手动确认没有调度器存在,对性能的影响就不大,就可以忽略这块的日志

现在的问题是确认为啥慢🤔,io 怎么样?现在导进去多少数据了?有没有新异常?
这速度有点太慢了 :joy:

1.配置如下:
192.168.90.213:
tidb-server、pd、1个tikv
8核 135G内存 ;
192.168.80.217:
tidb-server、pd、4个tikv
64核 135G内存 ;
192.168.80.218:
pd、4个tikv、lightning
64核 135G内存 ;
2.IO如下图:


192.168.80.218上用lvm将sdd和sdc组成了一块盘符供lightning使用,跑至100%
192.168.90.213 sda是hdd盘,做tikv节点用。跑到100%,其他我看IO都不高,可能和lightning没跑起来有关系;
3.现在导进去的数据基本没变化,不知道为什么导入没工作,或者导入进度很慢;
4.我看了下倒的这个表大概有1.3T左右,是不是跟这个有关,需要怎么处理下吗,大神。

14:00 左右负载发生了变化,什么情况?开始 tikv ingress 数据了吗?

不是,是我更改了配置,reload了集群。

改了什么,怎么负载一下调起来了?lightning 原先磁盘的负载从 100% 降到 0 了

我把lightning进程停了 ,加了这些配置,所以lightning负载没了
图片

大神您看下:
重新执行了lightning.sh,内存使用和io如下,写了部分数据后日志里面全是暂停调度了,没有其他的操作。
tidb-lightning.log (2.1 MB)



lightning控制台显示file一直是0

这样

  1. 把 213 用了 hdd 盘的 tikv leader 都驱逐了,固定在 ssd tikv 上,因为 local 应该是 把 sst 文件交给 region leader 去 ingress。
  2. sdd 和 sdc 不是 file 和 sorted-kv-dir 路径吗? 看看能不能放到 nvme 盘上,如果实在没有快盘了,那也只能这样了,io 满就满吧。
  3. 启动 lightning 前把 scheduler config 回复默认值,防止其他不必要问题发生。

看看速度

另外,你调整配置后,速度有上来吗?

index-concurrency = 1
table-concurrency = 3
io-concurrency = 3
region-concurrency 在 64 vCore 上配 16 已经很低了:thinking:,怎么还是给 io 调满了(现在相当于在非官方要求的硬件配置上,组合出来一套能 run 的比较正常的方法 :sweat_smile:
参数减半,看看能不能正常 run 起来

tikv 那头有没有什么异常报错。

region-concurrency 哦,其实是翻译 csv–>sst 文件的并发,16 个并发就给 io 打满了?
io latency 是多少,光看 usage 也不一定就是慢。
在物理机上,disk-performance 能看,k8s 不知道是否有这个面板🤔

速度还是很慢,通过store_used查看1个消失大概有9G的数据上传,lightning日志中这个进程数值几乎就不动,




tikv日志里面没什么异常,有个连接告警,我查了下说是不影响集群,是info日志可以忽略

我把213上 tikv leader 先驱逐,然后调整region-concurrency 并发数为8,在添加个IO的监控观察下。

是这样,可以注意下 io-latency。
只是 usage 高不一定就说明磁盘不行,也可能是磁盘利用率高,如果 io-latency 能控制在 us 或 ms 级;
就把这些参数调大,因为目前从哪里看都看不出问题,那就提高并发,把压力打上去。

好的 我先添加监控观察下

checkpoint 没了?为什么?手动删了吗?
那就按报错提示把这表删了吧,在下游

重新创建了个 checkpoint,那之前导入的表估计后面也会报这个错,只是表名换了。
冲头来~,要不趁这个时间整块好点的盘?有折腾的时间都导完了 :sweat_smile:

关注进展,学习

这个表是第一个库第一个表 ,我给服务器添加了内存重启了服务器,checkpoint 保存在/tmp下面,重启就没了,那我重新换个服务器,把lightning盘放在ssd里面,1T大小的够吗,我看生成的sst文件总量基本没有过1T。