【发布时间】:2017-11-20 19:12:07
【问题描述】:
我正在使用 NiFi(最近开始使用它,它似乎适合我的需求)。我们最近建立了一个 Spark/Hadoop 集群,并且已经使用 Elasticsearch 大约 2 年了。我的目标是从 Elasticsearch 获取特定索引到 HDFS(特别是系统日志)。我正在做一个异常检测的机器学习项目,但想处理来自 HDFS 的数据以加快速度。
所以,有一点背景 - 我们的系统日志索引每天都不同(logstash-syslog-2017-11-20,等等)。我只需要来自系统日志的消息,所以基本上我想要做的是:
ES -> NiFi -> Parse JSON to give me back text -> write each message to its own line in a text file.
最后,在我的 HDFS 中,我会有每个索引(天)的消息文本文件,例如:
syslog-2017-11-19
syslog-2017-11-20
syslog-2017-11-21
等等……
我被一些事情难住了:
构建它需要哪些组件?我看到有 GenerateFlowFile,我认为我需要使索引名称动态化。
由于我想拉整个索引,我想我需要使用“ScrollElasticSearchHttp”,但我不确定。还有其他选择,但我不知道什么是最好的。使用 PySpark 时,我使用 ES-Hadoop 连接器完成了简单的查询以获取整个索引,但必须将滚动大小增加到 10k,以使其运行得更快。只是对我应该使用什么处理器感到困惑。
如果有人可以告诉我这个结构的概念(什么处理器、连接器等),我需要从 syslog 获取消息的索引,从 ES 到我的 HDFS,这将是很棒的。还在学习这个,所以请原谅我对此的无知。非常感谢您的帮助!
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。