我们在 Apache NiFi 的 PutHDFS 处理器中配置凭证的位置

Posted

技术标签:

【中文标题】我们在 Apache NiFi 的 PutHDFS 处理器中配置凭证的位置【英文标题】:Where we configure the credential in PutHDFS processor in Apache NiFi 【发布时间】:2017-03-03 10:59:25 【问题描述】:

我在 PutHDFS 中配置了一个路径,它会引发身份验证错误

日志:

2017-03-03 01:52:29,200 调试 [IPC 客户端 (1496249304) 从根连接到 dnn01.com/10.4.151.88:8020] org.apache.hadoop.ipc.Client IPC 客户端 (1496249304) 连接到dnn01.com/10.4.151.88:8020 从根获得值 #39976 2017-03-03 01:52:29,201 TRACE [Timer-Driven Process Thread-7] org.apache.hadoop.ipc.ProtobufRpcEngine 105:异常

2017-03-03 01:52:29,201 错误 [Timer-Driven Process Thread-7] o.apache.nifi.processors.hadoop.PutHDFS PutHDFS[id=015a1010-9c64-1ed3-c39b-d19ab2dfe19b] 失败由于 org.apache.nifi.processor.exception.ProcessException 写入 HDFS:从 PutHDFS [id=015a1010-9c64-1ed3-c39b-d19ab2dfe19b] 引发的 IOException:org.apache.hadoop.security.AccessControlException:权限被拒绝:用户 =根,访问=写,inode="/raw/externaltbls/falcon/testing/.1PUGETSLA_PO810.P0125.EDIINV.P20150125.107.20160304025143629.gz":hdfs:hdfs:drwxrwxr-x at org.apache.hadoop.hdfs.server。 namenode.FSPermissionChecker.check(FSPermissionChecker.java:319) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292)

【问题讨论】:

【参考方案1】:

PutHDFS 处理器将以 NiFi 运行的操作系统用户身份执行。在您的情况下,您似乎以 root 身份运行 NiFi,因为日志显示“Permission denied:user=root, access=WRITE”。

您的选择是:

    授予对您正在写入的目录 (/raw/externaltbls/falcon/testing/) 的 root WRITE 访问权限 以具有 WRITE 访问权限的其他用户身份运行 NiFi 使用 Kerberos 并在 PutHDFS 处理器中指定主体和密钥表

【讨论】:

谢谢布莱恩,很有帮助 您将如何以具有写入权限的其他用户实际运行 nifi?选项 2 启动 NiFi 时必须以该用户身份登录

以上是关于我们在 Apache NiFi 的 PutHDFS 处理器中配置凭证的位置的主要内容,如果未能解决你的问题,请参考以下文章

运行 NiFi 所需的 Hadoop 配置是啥?

Apache NiFi 概述

如何集成Apache NiFi和Azure Active Directory以进行用户身份验证?

NIFI Apache NiFI 授权配置

NiFi - java.lang.NoSuchMethodError

Apache nifi 第二篇(小白初试) nifi数据对接流程初次尝试