我正在尝试在DAG中使用Airflow HdfsSensor查找_SUCCESS。
DAG:
hdfs_sense_open = HdfsSensor(
task_id='hdfs_sensor_check',
filepath='/user/test/_SUCCESS',
dag=dag)
在我的连接中,我使用hdfs_default作为具有8020端口的namenode地址。
在kerberos标签下修改了airflow.cfg,
ccache = /tmp/krb5cc_736789_VU54Jn
principal = test
reinit_frequency = 3600
keytab = /home/test/test.keytab
在核心下,我已启用 security = kerberos 。
测试-是我的用户ID与LDAP链接并且可以访问Hadoop集群以进行读取,写入和执行。
我通过发行气流小鸟
更新了机票当我尝试运行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]
但是从命令行使用蛇咬我可以ls文件(snakeite -D ls)。有人可以帮我解决什么问题。