写点什么

TDengine 离线升级流程

作者:TDengine
  • 2022 年 6 月 08 日
  • 本文字数:1622 字

    阅读完需:约 5 分钟

注意事项:

  1. 强烈建议有升级需求的用户直接升级至各个版本分支的最新版本( https://www.taosdata.com/all-downloads );

  2. TDengine 在升级后不可以做版本回退。因此,请务必根据正文的升级流程,提前做好备份,从而避免出现不可预期的问题;

  3. 升级结束后,请第一时间验证数据库服务的完好性;

  4. 对于使用 RESTful 接口服务的用户,升级结束后,要记得用 systemctl start taosadapter 启动 taosadapter 服务,以保证 RESTful 接口可用;

  5. 以 2.0.16 为分界线,升级步骤稍有不同,请注意检查自己的数据库服务版本。(版本检查方式:在服务端的 taos shell 里执行 select server_version());



正文:

2.0-2.0.15 版本,向上升级到 2.0.16 以及之后的任意版本,操作如下(包含集群与单机):

  1. 升级前,请在服务器上准备好新版本的安装包(下载链接:https://www.taosdata.com/all-downloads);

  2. 确保当前节点处于正常工作的状态:) show dnodes: 各 dnode status 均为 ready;) show mnodes: 各 mnode role 均为 master 或者 slave;) show 库名.vgroups: 各 vgroup status 均为 ready,且 role 均为 master 或者 slave;) 数据库读写正常;

  3. 在所有节点停止数据库服务:systemctl stop taosd

  4. 备份所有节点数据文件目录下(默认为:/var/lib/taos)所有内容到其他路径或存储(vnode_bak 可清空);

  5. cd 进入各个节点数据文件目录下;

  6. ls -ltR | grep -i “wal” 检查”数据文件目录下所有 wal 文件是否为空;

  7. 如果为空,进入步骤 9;

  8. 如果非空,则启动该节点的数据库进程再关闭。一定要等到所有节点的该文件为空,才能进行下一步。(如果反复启停该目录仍然不能为空,请联系 TDengine 官方获得支持);

  9. 在数据库服务处于停止的状态下,在所有节点逐个执行 rmtaos(卸载方式取决于安装包类型,可参考:https://www.taosdata.com/blog/2019/08/09/566.html),然后安装新版本 install.sh(或其他安装方式,参考同上);

  10. 所有节点升级完毕后,在各个节点的 Linux shell 中使用 taosd –force-keep-file 命令启动服务进程;

  11. 新开一个 linux 终端,输入 taos -h xxxx -p 命令(根据实际情况填写用户密码),再次执行步骤 2 ,并对数据完整性进行检查。

  12. 确认无误后,可取消掉 taosd –force-keep-file 的进程。重新以 systemctl start taosd 方式启动 taosd 服务。

  13. 【可选】按需执行: systemctl start taosadapter;

  14. 再次执行步骤 2 ,并对数据完整性进行检查。

  15. 检查无误后,升级完毕。




2.0.16 版本及之后的版本,向上升级到任意版本,操作如下(包含集群与单机):

  1. 升级前,请在服务器上准备好新版本的安装包(下载链接:https://www.taosdata.com/all-downloads);

  2. 确保当前节点处于正常工作的状态:) show dnodes: 各 dnode status 均为 ready;) show mnodes: 各 mnode role 均为 master 或者 slave;) show 库名.vgroups: 各 vgroup status 均为 ready,且 role 均为 master 或者 slave;) 数据库读写正常;

  3. 在所有节点停止数据库服务:systemctl stop taosd

  4. 备份所有节点数据文件目录下(默认为:/var/lib/taos)所有内容到其他路径或存储(vnode_bak 可清空);

  5. cd 进入各个节点数据文件目录下;

  6. ls -ltR | grep -i “wal” 检查”数据文件目录下所有 wal 文件是否为空;

  7. 如果为空,进入步骤 9;

  8. 如果非空,则启动该节点的数据库进程再关闭。一定要等到所有节点的该文件为空,才能进行下一步。(如果反复启停该目录仍然不能为空,请联系 TDengine 官方获得支持);

  9. 在数据库服务处于停止的状态下,在所有节点逐个执行 rmtaos(卸载方式取决于安装包类型,可参考:https://www.taosdata.com/blog/2019/08/09/566.html),然后安装新版本 install.sh(或其他安装方式,参考同上);

  10. 在各个节点启动数据库服务:systemctl start taosd;

  11. 【可选】按需执行: systemctl start taosadapter;

  12. 再次执行步骤 2 ,并对数据完整性进行检查。

  13. 检查无误后,升级完毕。



想了解更多TDengine Database 的具体细节,欢迎大家在GitHub上查看相关源代码。


用户头像

TDengine

关注

高性能、分布式、支持SQL的时序数据库 2021.11.04 加入

官网:http://www.taosdata.com GitHub:https://github.com/taosdata/TDengine

评论

发布
暂无评论
TDengine 离线升级流程_数据库_TDengine_InfoQ写作社区