Apache Superset 如何升级到 1.4

Apache Superset 1.4.2 已经出来有一段时间了,我的 Apache Superset Portable 还是 1.3.2 版本(我打算等1.5版本正式发布才更新便携版本,因为DuckDB的支持将在该版本正式发布),尝试升级下,

pip install -U apache-superset

superset db upgrade

superset db init

然后报错了,

ValueError: Invalid decryption key

不合法的解密键值,这是什么鬼?网上搜索很久,才找到了原因,

17984[1]: Default Flask SECRET_KEY has changed for security reasons. You should always override with your own secret. Set PREVIOUS_SECRET_KEY (ex: PREVIOUS_SECRET_KEY = “21thisismyscretkey12eyyh”) with your previous key and use superset re-encrypt-secrets to rotate you current secrets

因为安全原因, Flask 修改了 SECRET_KEY 默认值, 这要求我们重置我们的密码,解决报错的办法是,

  • 把以前的 SECRET_KEY 赋值给 PREVIOUS_SECRET_KEY

  • 执行命令 superset re-encrypt-secrets 重置当前的密码。

superset re-encrypt-secrets -a '21thisismyscretkey12eyyh'
然后再继续升级操作
superset db upgrade
superset db init

如果还有问题,也许你需要重置 dbs 的 password 和 encrypted_extra 为 null

update dbs set password = null, encrypted_extra = null where id=1

上面是官方给的解决办法, 下面是网上给的另外一个解决办法,

  1. 修改 superset_config.py 里的 SECRET_KEY
  2. 重置 dbs 的 password 和 encrypted_extra 为 null

    update dbs set password = null, encrypted_extra = null where id=1
  3. superset db upgrade
  4. superset init
  5. superset run
  6. 登录 Superset, 访问 Data > Databases 修改密码(如果是 SQLite, 则这步可以略过)

我最开始就是使用的方法二,后来发现了方法一后,经测试一样 OK。

参考资料

[1]

17984: https://github.com/apache/superset/pull/17984



原文始发于微信公众号(alitrack):Apache Superset 如何升级到 1.4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/62794.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!