Airflow HdfsSensor не удалось подключиться к керберизованному кластеру Hdfs - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь использовать Airflow HdfsSensor в моей DAG для поиска _SUCCESS.

DAG:

hdfs_sense_open = HdfsSensor(
        task_id='hdfs_sensor_check',
        filepath='/user/test/_SUCCESS',
        dag=dag)

В моем соединении я использовал hdfs_default в качестве адреса namenode с портом 8020.

Изменен airflow.cfg под тегом kerberos,

ccache = /tmp/krb5cc_736789_VU54Jn
principal = test
reinit_frequency = 3600
keytab = /home/test/test.keytab

под ядром. Я включил security = kerberos .

test - мой идентификатор пользователя связан с LDAP и имеет доступ к кластеру Hadoop для чтения, записи, выполнения.

Я обновил заявку, выдав airflow kerberos

Когда я пытаюсь запустить DAG, он не может подключиться к Hdfs с ошибкой ниже:

[2018-12-10 15:43:26,934] {logging_mixin.py:95} INFO - [2018-12-10 15:43:26,934] {channel.py:83} DEBUG - RpcResponseHeaderProto:

[92mcallId: 4294967263
status: FATAL
serverIpcVersionNum: 9
exceptionClassName: "javax.security.sasl.SaslException"
errorMsg: "Client mechanism is malformed"
errorDetail: FATAL_UNAUTHORIZED
clientId: ""
retryCount: -1
[0m
[2018-12-10 15:43:26,934] {hdfs_sensor.py:116} DEBUG - Caught an exception !: (<class 'snakebite.errors.RequestError'>, RequestError(u'javax.security.sasl.SaslException\nClient mechanism is malformed',), <traceback object at 0x7f714f940d88>)
[2018-12-10 15:43:31,773] {logging_mixin.py:95} INFO - [2018-12-10 15:43:31,772] {jobs.py:189} DEBUG - [heartbeat]

Но из командной строки, используя snakebite, я могу открыть файл (snakeite -D ls).Может ли кто-нибудь помочь мне в чем проблемы.

...