【问题标题】:Cloudera Kerberos authentication error using CeleryExecutor Airflow使用 CeleryExecutor Airflow 的 Cloudera Kerberos 身份验证错误
【发布时间】:2020-11-05 16:32:09
【问题描述】:

请帮忙,因为我有点无能为力..

我正在尝试升级我们的 Airflow 安装,包括从 localexecutor 到 celeryexecutor 的 Kerberos 身份验证。目前,我们仅从一台服务器运行气流安装。

在 localexecutor 成功时,由于 kerberos 身份验证错误,完全相同的 sqoop 作业使用 celeryexecutor 失败:

Client cannot authenticate via:[TOKEN, KERBEROS]; Host Details : local host is: "lsrv****.linux.****/10.251.128.148"; destination host is: "lsrv***.linux.****":8020; , while invoking ClientNamenodeProtocolTranslatorPB.getFileInfo over lsrv****.linux.****/10.251.128.104:8020 after 1 failover attempts. Trying to failover after sleeping for 1377ms.'

kerberos 设置:

[kerberos]
ccache = /tmp/krb5cc_32606

# gets augmented with fqdn
principal = airflow
reinit_frequency = 3600
kinit_path = kinit
keytab = /var/lib/airhome/.certs/airflow.keytab

要让 kerberos 与 celery 执行器结合使用,是否需要更改 kerberos 或 celery 设置?或者是否需要更改 Cloudera Hadoop 设置? (例如:hadoop.security.token.service.use_ip?)

它与错误消息中提到的附加IP地址有关系吗?

【问题讨论】:

    标签: celery airflow kerberos cloudera


    【解决方案1】:

    您还需要在运行airflow worker 的地方运行airflow kerberos。它是 Airflow 中的 Kerberos 票证更新组件。

    https://airflow.apache.org/docs/stable/security.html#kerberos

    【讨论】:

    • 嗯,是的,我知道这一点,并且机票续订器运行得非常好。但是,当我收到身份验证错误时,本地与 celeryexecutor 之间的 kerberos 身份验证存在一些差异..
    • 其实我在 Celery Executor 中使用 Kerberos 认证很顺利,我在airflow.cfg 中的Kerberos 配置和你一样。你有多少个工作节点?您是否在所有这些中都运行了“airflow kerberos”?
    • 目前,我们只在一台服务器上尝试这种设置,所以我猜这将是一个有 16 个工作人员设置的工作程序节点。您能帮我“在所有这些设备中运行气流 kerberos”吗?因为我们只为 16 名工作人员运行了一项气流 kerberos 服务。非常感谢您的帮助
    • 我很奇怪,只是将执行程序更改为 LocalExecutor 会使 kerberos 身份验证再次工作。
    猜你喜欢
    • 1970-01-01
    • 2015-06-22
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多