跳轉到

部署和維護 / 升級和重啟

本文主要介紹如何升級和重啟 DataFlux Func。

1. 升級系統

當前版本的 DataFlux Func 在升級時,不需要額外特殊操作,按照正常安裝步驟使用新版本安裝即可。

安裝指令碼會自動識別已經安裝的 DataFlux Func,並完成關閉服務,更換映象,重新啟動的一系列操作。

此外,在 DataFlux Func 首次安裝後,會將安裝目錄寫入 /etc/dataflux-func 檔案,因此在升級時,安裝指令碼也能夠自動找到之前的安裝目錄,使用者所有的資料都會保留。

可以在命令列中使用 cat /etc/dataflux-func 檢視當前記錄的安裝目錄

詳細安裝文件請參考 部署和維護 / 安裝部署 / 單機部署

1.2 自動更新 Docker 版本

不同版本的 DataFlux Func 所附帶的 Docker 版本可能不同:

DataFlux Func 版本 附帶的 Docker 版本
5.1.0 及以後 24.0.9
3.4.0 ~ 5.0.5 23.0.6
3.3.3 及以前 20.10.8

因此,在升級 DataFlux Func 版時,自動安裝指令碼會檢測當前 Docker 版本並提示是否重新安裝 Docker:

Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
The current version of the DataFlux Func prefers another version of Docker
  Current Docker (docker --version):
    -> 20.10.8
  DataFlux Func prefers:
    -> 23.0.6

Reinstalling Docker will stop the docker service and shut down all running containers, this will make all your service unavailable!

Do you want to reinstall the Docker 23.0.6 (current: 20.10.8) ?
  -> abort    : Stop and do nothing
  -> skip     : Skip reinstalling Docker, use current version of Docker and continue to install DataFlux Func
  -> reinstall: Reinstall Docker and install DataFlux Func
Your choice:

使用者可以輸入需要進行的具體操作:

輸入 說明
abort 中斷安裝,什麼都不要做
skip 不要更新 Docker,直接升級 DataFlux Func
reinstall 重新新版本 Docker,之後升級 DataFlux Func

如果宿主機中的 Docker 不是由 DataFlux Func 安裝包自動安裝的 Docker,請自行升級 Dockers,請勿使用一鍵安裝包重新安裝

如果宿主機的 Docker 除了 DataFlux Func 以外,還執行有服務,請確認重新安裝 Docker 是否會對業務產生影響

在使用者選擇 reinstall 後,會有 10 秒時間等待使用者按 CTRL + C 中斷重新安裝 Docker:

Text Only
1
2
3
Your choice: reinstall
[Reinstall Docker and install DataFlux Func]
You have 10 second to interrupt this action by pressing CTRL + C

2. 重啟系統

需要重新啟動時,請按照以下步驟進行:

  1. 使用 docker stack rm dataflux-func 命令,關停 DataFlux Func(此步驟可能需要一定時間)
  2. 使用 docker ps 確認所有容器都已經退出
  3. 使用 docker stack deploy dataflux-func -c {安裝目錄}/docker-stack.yaml --resolve-image never 重啟所有服務

由於安裝包中的映象檔案本身已經匯入本地,加上 --resolve-image never 引數可以避免 Docker 在啟動容器時進行無意義的映象檢查

如果嫌麻煩,你也可以使用原來的安裝包重新安裝一遍 DataFlux Func 來完成「重啟」