我们在 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 处理器中配置凭证的位置的主要内容,如果未能解决你的问题,请参考以下文章
如何集成Apache NiFi和Azure Active Directory以进行用户身份验证?