注意事项:
- 强烈建议有升级需求的用户直接升级至各个版本分支的最新版本( 所有下载链接 - TDengine | 涛思数据 );
- TDengine 在升级后不可以做版本回退。因此,请务必根据正文的升级流程,提前做好备份,从而避免出现不可预期的问题;
- 升级结束后,请第一时间验证数据库服务的完好性;
- 对于使用 RESTful 接口服务的用户,升级结束后,要记得用 systemctl start taosadapter 启动 taosadapter 服务,以保证 RESTful 接口可用;
- 以 2.0.16 为分界线,升级步骤稍有不同,请注意检查自己的数据库服务版本。(版本检查方式:在服务端的 taos shell 里执行 select server_version());
正文:
2.0-2.0.15 版本,向上升级到 2.0.16 以及之后的任意版本,操作如下(包含集群与单机):
- 升级前,请在服务器上准备好新版本的安装包(下载链接:所有下载链接 - TDengine | 涛思数据);
- 确保当前节点处于正常工作的状态:
- ) show dnodes: 各 dnode status 均为 ready;
- ) show mnodes: 各 mnode role 均为 master 或者 slave;
- ) show 库名.vgroups: 各 vgroup status 均为 ready,且 role 均为 master 或者 slave;
- ) 数据库读写正常;
- 在所有节点停止数据库服务:systemctl stop taosd
- 备份所有节点数据文件目录下(默认为:/var/lib/taos)所有内容到其他路径或存储(vnode_bak 可清空);
- cd 进入各个节点数据文件目录下;
- ls -ltR | grep -i “wal” 检查”数据文件目录下所有 wal 文件是否为空;
- 如果为空,进入步骤 9;
- 如果非空,则启动该节点的数据库进程再关闭。一定要等到所有节点的该文件为空,才能进行下一步。(如果反复启停该目录仍然不能为空,请联系 TDengine 官方获得支持);
- 在数据库服务处于停止的状态下,在所有节点逐个执行 rmtaos(卸载方式取决于安装包类型,可参考:TDengine多种安装包的安装和卸载 - TDengine | 涛思数据),然后安装新版本install.sh(或其他安装方式,参考同上);
- 所有节点升级完毕后,在各个节点的 Linux shell中使用 taosd –force-keep-file 命令启动服务进程;
- 新开一个 linux 终端,输入 taos -h xxxx -p 命令(根据实际情况填写用户密码),再次执行步骤 2 ,并对数据完整性进行检查。
- 确认无误后,可取消掉 taosd –force-keep-file 的进程。重新以 systemctl start taosd 方式启动 taosd 服务。
- 【可选】按需执行: systemctl start taosadapter;
- 再次执行步骤 2 ,并对数据完整性进行检查。
- 检查无误后,升级完毕。
2.0.16 版本及之后的版本,向上升级到任意版本,操作如下(包含集群与单机):
- 升级前,请在服务器上准备好新版本的安装包(下载链接:所有下载链接 - TDengine | 涛思数据);
- 确保当前节点处于正常工作的状态:
- ) show dnodes: 各 dnode status 均为 ready;
- ) show mnodes: 各 mnode role 均为 master 或者 slave;
- ) show 库名.vgroups: 各 vgroup status 均为 ready,且 role 均为 master 或者 slave;
- ) 数据库读写正常;
- 在所有节点停止数据库服务:systemctl stop taosd
- 备份所有节点数据文件目录下(默认为:/var/lib/taos)所有内容到其他路径或存储(vnode_bak 可清空);
- cd 进入各个节点数据文件目录下;
- ls -ltR | grep -i “wal” 检查”数据文件目录下所有 wal 文件是否为空;
- 如果为空,进入步骤 9;
- 如果非空,则启动该节点的数据库进程再关闭。一定要等到所有节点的该文件为空,才能进行下一步。(如果反复启停该目录仍然不能为空,请联系 TDengine 官方获得支持);
- 在数据库服务处于停止的状态下,在所有节点逐个执行 rmtaos(卸载方式取决于安装包类型,可参考:TDengine多种安装包的安装和卸载 - TDengine | 涛思数据),然后安装新版本 install.sh(或其他安装方式,参考同上);
- 在各个节点启动数据库服务:systemctl start taosd;
- 【可选】按需执行: systemctl start taosadapter;
- 再次执行步骤 2 ,并对数据完整性进行检查。
- 检查无误后,升级完毕。
想了解更多 TDengine Database 的具体细节,欢迎大家在GitHub上查看相关源代码。