首页 > 解决方案 > 使用 CeleryExecutor Airflow 的 Cloudera Kerberos 身份验证错误

问题描述

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

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

由于 kerberos 身份验证错误,而 localexecutor 成功,完全相同的 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 地址有关?

标签: celeryairflowkerberoscloudera

解决方案


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

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


推荐阅读