将小文件存储在 hdfs 中并在 Nifi Flow 中存档
Posted
技术标签:
【中文标题】将小文件存储在 hdfs 中并在 Nifi Flow 中存档【英文标题】:Storing small files in hdfs and archiving them in Nifi Flow 【发布时间】:2020-12-08 12:43:46 【问题描述】:我对小文件和 HDFS 有疑问。
场景:我正在使用 NiFi 读取来自 Kafka 主题的消息,这些消息都非常小。
要求:在对它们进行进一步处理之前将这些原始数据消息存储在 HDFS 中(用于重播能力)。
我正在考虑定期在它们上使用 Hadoop Archive (HAR)。那是我可以通过 NiFi 做的事情吗? har 命令似乎是一个命令行的东西,而不是我可以通过 Nifi 执行的东西?很想知道一个可以满足我要求的解决方案,而不会因为文件小而降低 HDFS。
吉尼尔
【问题讨论】:
【参考方案1】:您可以使用 ExecuteProcess 处理器在 Nifi 中执行命令行:
http://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.6.0/org.apache.nifi.processors.standard.ExecuteProcess/
您还可以查看 Kafka-connect HDFS 以将 kafka 记录放入 HDFS。
【讨论】:
以上是关于将小文件存储在 hdfs 中并在 Nifi Flow 中存档的主要内容,如果未能解决你的问题,请参考以下文章
如何在 NiFi 中跟踪 HDFS Active Namenode 更改事件?