如何升级(旧版镜像)
本指南适用于使用我们未使用 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
中指定的版本)。