如何升級(舊版映像檔)
此說明適用於使用我們未使用 Docker 的舊版實例的使用者。如果您使用我們新的基於 Docker 的實例,請查看更新後的指南。
從 Redash V8 版本開始,我們不再建立發行版的 tarball 版本,只建立 Docker 映像檔。 這當然不會阻止您以任何您想要的方式部署 Redash,但
bin/upgrade
腳本將無法與新版本一起使用。建議您在有新版本發佈時升級您的 Redash 實例,以受益於新功能和錯誤修復。升級過程相對簡單,並且假設您使用了我們提供的基本映像檔之一,您可以直接運行升級腳本。如果您有自定義部署,您可以使用升級腳本作為參考來建立您自己的流程。
Bitnami 實例與此腳本不相容。
如何升級(v1.0.0 及更新版本)
從 v1.0.0 開始,升級腳本是程式碼庫的一部分,運行腳本就像這樣簡單
cd /opt/redash/current
sudo bin/upgrade
如果您要升級到 Beta 版本,您需要指定通道:
sudo bin/upgrade --channel beta
。Docker
如果您使用 Docker 運行 Redash,請勿使用升級腳本。您需要做的是
- 更新您正在使用的 Docker 映像檔。
- 應用遷移(如果需要)。要應用遷移,您需要以
manage db upgrade
作為命令來調用映像檔。執行此操作的方式取決於您部署 Redash 的方式。
如何升級(v1.0.0 之前的版本)
在 v1.0.0 中,我們將腳本新增到存儲庫中,但如果您有較早的版本,您需要先下載腳本(請注意,您需要將其下載到您的 Redash 伺服器)
wget https://raw.githubusercontent.com/getredash/redash/master/bin/upgrade
chmod +x upgrade
執行它
sudo ./upgrade
在進行升級之前,請務必對您的 /opt/redash/.env
檔案進行以下變更
- 如果您有本地 PostreSQL 資料庫,您需要將 URL 從
postgresql://redash
更新為postgresql:///redash
。 - 移除
REDASH_STATIC_ASSETS_PATH
定義。
您只能從 v0.12.0 升級到 v1.0.0 及更高版本,因此如果您有較舊的版本,請先運行:
sudo upgrade --channel legacy
,然後再運行 sudo upgrade
。疑難排解
升級失敗,出現「sudo: /etc/init.d/redash_supervisord: command not found」錯誤
您需要手動執行重新啟動命令
sudo service supervisor restart
在 v2.0.0 中,我們修復了升級腳本以使用正確的命令。
升級後,某些(或所有)資料來源消失
升級過程會更新程式碼、應用遷移並升級 Python 相依性。但它不會升級資料來源的 Python 相依性(在 /opt/redash/current/requirements_all_ds.txt
中描述)。
在某些情況下,舊的套件會阻止資料來源載入。請務必手動更新與您需要的資料來源相關的相依性。
升級到 v2.0.0 後,我在資料來源清單中看不到 BigQuery
您需要升級下列 Python 套件
google-api-python-client==1.5.1
oauth2client==3.0.0
(sudo pip install -U google-api-python-client==1.5.1 oauth2client==3.0.0
)
升級到 v2.0.0 後,我在資料來源清單中看不到 Athena
請務必安裝 PyAthena
sudo pip install PyAthena>=1.0.0
在升級期間出現「AttributeError: 'module' object has no attribute 'SSL_ST_INIT'」錯誤
請務必升級 PyOpenSSL 套件(請參閱 requirements_all_ds.txt
中指定的版本)。