【TDengine 使用环境】测试环境
【TDengine 版本】
3.3.2.0 升级 3.4.1
【操作系统以及版本】
ubuntu 18 4C8G
【部署方式】非容器部署
【集群节点数】
单机部署
【集群副本数】
【遇到的问题:问题现象及影响】
关停 3.3.2,在 3.4.1 OSS 包中执行 install.sh 后,服务器load直接到150+,持续越5分钟后才恢复。期间服务器安全卡主无法操作。
3.3.2 版本中数据目录总共大小 : 53M
【报错完整截图】
没有报错,只是导致服务器load异常。
推测是因为元数据迁移和重建导致的load飙升,但是只有 53M的数据就会持续这么久,那么有个1T的数据,升级时会迁移多久?
当时有查看 taosd 中 线程占用cpu情况吗,具体是哪些线程一直占用高?
我们找环境试试。
没有查看线程,执行install之后,整个机器就完全卡主了 远程新开ssh 窗口也无法登录进去。
第一次:卡住后就紧急终止了install,恢复后,重新安装了 3.3.2.0 版本,3.3.2.0的install 执行很快,没有问题
第二次:执行 3.4.1 的install 后一直等待,直到系统恢复。发现安装成功了,且运行也都正常。
正常会出现这种问题吗?如果有个1T的数据,官方有没有衡量升级时元数据重建的时长指标?
install 之前先停止了 taosd 服务吗?
install 不会进行数据重建的,只是会先停止 服务,然后进行覆盖安
然后需要人工重新启动服务。
install 之前停止了旧版本的 taosd。
尝试复现了下,可以复现,流程如下
- 3.4 版本dump数据
- 关停3.4 taosd
- 删除数据,安装3.3
- 3.3 dump 导入数据,做基本配置
- 关停 3.3 taosd
- 升级3.4 ,install执行过程中,机器load飙升。因为卡到无法操作,只能抓到 kswapd0 占用100%. 测试服务器是4核8G,服务稳定后,剩余内存 3.2G
在升级3.4之前,先多开一个窗口,执行 top -Hp `pidof taosd` ,来查看taosd 中线程占用cpu 的情况。