注意事項:
- 強烈建議有升級需求的用戶直接升級至各個版本分支的最新版本( //yakult-sh.com.cn/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 以及之后的任意版本,操作如下(包含集群與單機):
- 升級前,請在服務器上準備好新版本的安裝包(下載鏈接://yakult-sh.com.cn/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 可清空);
- ?進入各個節點數據文件目錄下的 vnode 目錄;
- ls -ltR | grep -i “wal” 檢查”數據文件目錄下所有 wal 文件是否為空(千萬不要刪除 mnode 目錄下的wal);
- 如果為空,進入步驟 9;
- 如果非空,則啟動該節點的數據庫進程再關閉。一定要等到所有節點的該文件為空,才能進行下一步。(如果反復啟停該目錄仍然不能為空,請聯系 TDengine 官方獲得支持);
- 在數據庫服務處于停止的狀態下,在所有節點逐個執行 rmtaos(卸載方式取決于安裝包類型,可參考://yakult-sh.com.cn/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 版本及之后的版本,向上升級到任意版本,操作如下(包含集群與單機):
- 升級前,請在服務器上準備好新版本的安裝包(下載鏈接://yakult-sh.com.cn/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 可清空);
- ?進入各個節點數據文件目錄下的 vnode 目錄;
- ls -ltR | grep -i “wal” 檢查”數據文件目錄下所有 wal 文件是否為空(千萬不要刪除 mnode 目錄下的wal);
- 如果為空,進入步驟 9;
- 如果非空,則啟動該節點的數據庫進程再關閉。一定要等到所有節點的該文件為空,才能進行下一步。(如果反復啟停該目錄仍然不能為空,請聯系 TDengine 官方獲得支持);
- 在數據庫服務處于停止的狀態下,在所有節點逐個執行 rmtaos(卸載方式取決于安裝包類型,可參考://yakult-sh.com.cn/blog/2019/08/09/566.html),然后安裝新版本 install.sh(或其他安裝方式,參考同上);
- 在各個節點啟動數據庫服務:systemctl start taosd;
- 【可選】按需執行: systemctl start taosadapter;
- 再次執行步驟 2 ,并對數據完整性進行檢查。
- 檢查無誤后,升級完畢。


























