TDengine从2.6版本升级到3.0步骤

为什么要升级到3.0

在这里插入图片描述

生产服务器使用的是debian10,原来安装的是TDengine是2.6.0.8版本,连续使用了将近1年时间,比较稳定,但最近使用过程中发现居然无法使用命令删除子表的记录,查看文档,第一行就显示了原因

“本功能只在企业版 2.6.0.0 及以后的版本中提供,如需此功能请点击下面的链接访问企业版产品”。

也就是说要企业版才能使用。I服了U个老6。查看3.0的版本的文档,没有这样的问题,升级更新之。

升级步骤

大版本的更新,建议使用taosdump命令来备份还原数据,以下是升级的步骤:

1.导出数据
2.停止TD
3.卸载TD2.6.0.8
4.删除磁盘数据文件
5.安装启动新版TD3.0.6.0
6.修改配置、密码
7.导入数据
完成

一、准备工具

  • taosdump
  • screen

taosdump
使用taosdump命令导入和导出,使用taosdump需要安装taosTools,
版本建议使用taosTools-1.4.6-Linux-x64.deb的,下载链接,最新的版本不太适合,不能很好的运行taosdump命令。可能与操作系统或TD版本有关。
上传taosTools-1.4.6-Linux-x64.deb后,在目录内执行安装

dpkg -i taosTools-1.4.6-Linux-x64.deb

screen,linux的窗口工具,非常好用。这里用来防止ssh连接过期。

aptitude install screen

二、导出数据

root登录后,任意目录下建立一个存放导出文件的文件夹

cd /opt
mkdir taobak
cd taobak
taosdump -u root -p -A

上面最后一行指令:taosdump -u root -p -A,就是导出文件的指令,-A表示导出所有数据库的数据。还可以后面加上-B参数,指定一条import语句中包含记录的条数。

taosdump -u root -p -A -B 100

回车输入密码,等待导出完成。数据量大的话,可能会需要比较长时间,可以在screen内执行。导出的文件全部在执行命令的路径内,即/opt/taobak文件夹内。
导出文件包含一个stable的建表sql,一个导出记录,然后是所有子表的二进制文件列表。这个dbs.sql文件要重新编辑一下,导出的含有很多2.0版本的参数,按需去掉,下文有提。
在这里插入图片描述

三、停止TD

因为使用的是deb安装包,因此停止和卸载TD非常简便。

systemctl stop taosd

四、卸载TD2.6.0.8

卸载tdengine时,需要同时删除taosTools,deb安装的使用aptitude工具卸载td,可以自动卸载关联程序。其他安装版本可参考百度。

aptitude remove tdengine

五、删除磁盘数据文件

需要删除的文件包含配置文件和数据文件:

  • 配置文件,若还需要原配置,可保留备份
rm -rf /etc/taos/taos.cfg
  • 日志,删之
rm -rf /var/log/taos
  • 旧的数据,已全部导出,删之
rm -rf /var/lib/taos

六、安装新版本TD3.0.6.0

仍旧使用的是deb安装包,下载后安装。还需再安装一次taosTools,还是原来的版本。

dpkg -i TDengine-server-3.0.6.0-Linux-x64.deb
dpkg -i taosTools-1.4.6-Linux-x64.deb

TIP:其他业务服务器上的连接客户端,也建议一并更新安装,与之版本匹配。安装步骤参见官网文档的【建立连接】。下载TDengine-client-3.0.6.0-Linux-x64.tar.gz,解压后直接运行脚本,可覆盖旧的客户端

./install_client.sh

java使用 Maven 管理项目的,只需在 pom.xml 中加入以下依赖,其他语言版本参考【安装连接器】文档。

<dependency>
  <groupId>com.taosdata.jdbc</groupId>
  <artifactId>taos-jdbcdriver</artifactId>
  <version>3.2.1</version>
</dependency>

七、启动、修改配置、密码

启动td,有2个服务需要启动,主服务为taosd,restful服务为taosadapter,没有这个的话,gui和接口没法用。

systemctl start taosd
systemctl start taosadapter

修改配置,略
修改密码,安装后默认账户密码为root/taosdata,直接输入taos登录,然后修改密码

taos

alter user root pass 'newpassword';

完成后quit,再次登录就需要输入账户密码了,需加上-u -p参数。

root@xxxxx:~# taos
Welcome to the TDengine Command Line Interface, Client Version:3.0.6.0
Copyright (c) 2022 by TDengine, all rights reserved.

failed to connect to server, reason: Authentication failure
root@xxxxx:~# taos -u root -p
Enter password: 

八、导入数据

重头戏来了,全过程最消耗时间的就是数据的导入。我使用默认的导入指令,这里我1亿条数据,大约消耗了将近4小时左右,与服务器性能有很大的关系。可能优化一下导入指令会更快。
进入之前的导出目录,先修改dbs.sql文件内的建库脚本。导出时,taosdump工具可能会将一些参数附加在sql里面,删除不需要(不认识)的参数,其他的不需要改。可根据具体导出情况更改。比如:原文件内容为:

CREATE DATABASE IF NOT EXISTS xxDB REPLICA 0 KEEP MINROWS 0 MAXROWS 0 COMP 0 PRECISION 'ns' ;

改成我需要的。建议根据实际业务情况配置参数。

CREATE DATABASE xxDB PRECISION 'ns';

开始导入数据,建议使用screen窗口运行导入指令。因为时间可能会很长太长,ssh连接如果过期或意外断开,就有的搞了。
在任意目录下,新建一个窗口screen -S daoru,新建后自动进入该screen。taosdump -i 指定要导入的表所在的目录,-A 为全部的表。

cd /opt
screen -S daoru
taosdump -i /opt/taobak -u root -p -A

输入密码后,等待导入。一切正常的话,控制台会不断打印日志,这时候可以按ctl+a,d退出screen,甚至关闭ssh连接,等待完成。检查是否完成,可重新连接ssh,打开screen就可以查看是否导入完成,完成后会显示导入成功与否,以及导入的数据总条数。

screen -ls
screen -r 窗口PID

完成后干掉这个screen

screen -X -S 窗口pid quit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值