TDengine 离线升级流程
注意事项:
强烈建议有升级需求的用户直接升级至各个版本分支的最新版本( https://www.taosdata.com/all-downloads );
TDengine 在升级后不可以做版本回退。因此,请务必根据正文的升级流程,提前做好备份,从而避免出现不可预期的问题;
升级结束后,请第一时间验证数据库服务的完好性;
对于使用 RESTful 接口服务的用户,升级结束后,要记得用 systemctl start taosadapter 启动 taosadapter 服务,以保证 RESTful 接口可用;
以 2.0.16 为分界线,升级步骤稍有不同,请注意检查自己的数据库服务版本。(版本检查方式:在服务端的 taos shell 里执行 select server_version());
正文:
2.0-2.0.15 版本,向上升级到 2.0.16 以及之后的任意版本,操作如下(包含集群与单机):
升级前,请在服务器上准备好新版本的安装包(下载链接:https://www.taosdata.com/all-downloads);
确保当前节点处于正常工作的状态:) 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(卸载方式取决于安装包类型,可参考:https://www.taosdata.com/blog/2019/08/09/566.html),然后安装新版本 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 版本及之后的版本,向上升级到任意版本,操作如下(包含集群与单机):
升级前,请在服务器上准备好新版本的安装包(下载链接:https://www.taosdata.com/all-downloads);
确保当前节点处于正常工作的状态:) 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(卸载方式取决于安装包类型,可参考:https://www.taosdata.com/blog/2019/08/09/566.html),然后安装新版本 install.sh(或其他安装方式,参考同上);
在各个节点启动数据库服务:systemctl start taosd;
【可选】按需执行: systemctl start taosadapter;
再次执行步骤 2 ,并对数据完整性进行检查。
检查无误后,升级完毕。
想了解更多TDengine Database 的具体细节,欢迎大家在GitHub上查看相关源代码。
评论