Apache Airflow 1.9从GitHub安装在debian 8上

时间:2017-12-27 18:49:18

标签: airflow

由于debian 9上的命令行,我从GitHub安装了Apache airflow 1.9:pip install git+https://github.com/apache/incubator-airflow.git@v1-9-stable

但是,我在Fernet引起的airflow initdb期间出错了,你知道如何解决这个问题吗?

   INFO  [alembic.runtime.migration] Running upgrade 947454bf1dff -> d2ae31099d61, Increase text size for MySQL (not relevant for other DBs' text types)
    [2017-12-27 17:19:24,586] {models.py:643} ERROR - Failed to load fernet while encrypting value, using non-encrypted value.
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 639, in set_extra
        fernet = get_fernet()
      File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 103, in get_fernet
        raise AirflowException('Failed to import Fernet, it may not be installed')
    AirflowException: Failed to import Fernet, it may not be installed
    [2017-12-27 17:19:24,601] {models.py:643} ERROR - Failed to load fernet 

如何从我之前使用GitHub的pip命令安装pip install apache-airflow[gcp-api]中指定extrapackage?

如何安装最新的1.9.0RC?我有一个断言错误。

3 个答案:

答案 0 :(得分:7)

标记为好的答案有一个断开的链接,如果你像我一样落在这里并继续破坏,这些步骤对我有用:

  • pip install cryptography
  • python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
  • 将生成的密钥添加到配置文件airflow.cfgfernet_key = YOUR_GENERATED_KEY

答案 1 :(得分:1)

在从源代码安装期间,您必须替换airflow.cfg中的fernet_key,例如您可以在文档here中找到。

答案 2 :(得分:0)

在apache-airflow文档中,生成fernet密钥的脚本显然是错误的。 它说要使用以下脚本。

from cryptography.fernet import Fernet
fernet_key= Fernet.generate_key()
print(fernet_key) # your fernet_key, keep it in secured place!

但它在“气流initdb”中引发了例外情况。命令。 要解决这个问题而不是Fernet.generate_key()使用Fernet.generate_key().decode(),如@skozz答案中所示。