在listHDFS->moveHDFS
形式的NiFi中有管道,试图运行我们看到错误日志的管道
13:29:21 HSTDEBUG01631000-d439-1c41-9715-e0601d3b971c
ListHDFS[id=01631000-d439-1c41-9715-e0601d3b971c] Returning CLUSTER State: StandardStateMap[version=43, values={emitted.timestamp=1525468790000, listing.timestamp=1525468790000}]
13:29:21 HSTDEBUG01631000-d439-1c41-9715-e0601d3b971c
ListHDFS[id=01631000-d439-1c41-9715-e0601d3b971c] Found new-style state stored, latesting timestamp emitted = 1525468790000, latest listed = 1525468790000
13:29:21 HSTDEBUG01631000-d439-1c41-9715-e0601d3b971c
ListHDFS[id=01631000-d439-1c41-9715-e0601d3b971c] Fetching listing for /hdfs/path/to/dir
13:29:21 HSTERROR01631000-d439-1c41-9715-e0601d3b971c
ListHDFS[id=01631000-d439-1c41-9715-e0601d3b971c] Failed to perform listing of HDFS due to File /hdfs/path/to/dir does not exist: java.io.FileNotFoundException: File /hdfs/path/to/dir does not exist
将listHDFS路径更改为/ tmp似乎运行正常,因此让我认为问题在于我对我要列出的目录的权限。但是,通过设置hadoop fs -ls /hdfs/path/to/dir
值bootstrap.properties
并重新启动(请参阅https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#bootstrap_properties),将NiFi用户更改为可以访问该目录的用户(例如run.as=myuser
)为目录产生同样的问题。文字目录。正在使用的字符串是:
“/ ETL / ucera_internal / datagov_example /原始摄取跟踪/版本-1 /摄取”
有谁知道这里发生了什么?感谢。
**注意:我正在访问的hadoop集群没有启用kerberos(它是一个安全的MapR
hadoop集群。)
更新:mapr
hadoop实现似乎不同,需要采取特殊步骤才能让NiFi正常使用它(请参阅https://community.mapr.com/thread/10484和{{ 3}})。可能暂时没有机会在这个问题上工作以查看是否仍然有效(因为某些要求已经改变),所以我在这里将链接转发给其他可能同时遇到此问题的人。
答案 0 :(得分:0)
您能否确保输入正确的路径,并且HDFS中需要存在目录。
似乎列表hdfs处理器无法找到您在目录属性中配置的目录,并且日志未显示任何权限被拒绝的问题。
如果日志显示权限被拒绝,那么您可以在bootstrap.conf中更改运行nifi的用户 一旦你更改了nifi属性,那么NiFi需要重新启动以应用更改(或)更改NiFi可以访问的目录的权限。