我正在使用Apache Nifi进行我的一个点击式项目来做一些ETL。
我正在围绕每秒300条消息当前使用以下下文:
- RAM -16 GB
- 交换-6 GB
- CPU -16核
- 磁盘-100GB(不需要持久性(
- 群集-6个节点
整个群集UI随着以下问题而变得非常慢
- 处理器在发生某些故障时会屈服压力,这会消耗大量线程
- 出处写作变得非常慢
- 跨节点的心跳变得慢集群心跳
我在设置上有以下问题
- 是建议使用RPG,因为它是一个HTTP调用,我用它来传播在所有节点中,由于EMQTT存在现有问题消费者组的过程。
- 应该分配的线程计数的推荐值是多少每个核心?
- 基础架构大小的指南是什么
- 大型群集的调音参数是什么,并具有高传入请求和大量重量的JSON解析
一些建议
- 是的,建议使用RPG,至少从我的经验中,RPG似乎提供了更好的分发。看看下面的[3]
- 有些处理器是CPU密集的,然后是其他处理器,因此对于
Concurrent Tasks
可以设置什么值,没有明确的剪切答案。这更多是您必须掌握的反复试验,测试和微调方法。一个建议是,如果您将Concurrent Tasks
设置得太多用于CPU密集处理器,它将对节点产生严重影响。 - Hortonworks就此详细介绍了指南。我已经提供了下面的链接。[1]
一些最佳实践和方便的指南:
- https://community.hortonworks.com/articles/7882/hdfnifi-best-practices-for-setting-up-a-a-high-perfo.html
- http://ijokarumawak.github.io/nifi/2016/11/11/22/nifi-jolt/
- https://pierrevillard.com/2017/02/23/listfetch-pattern-and-pattern-and-remote-process-process-rocess-in-apache-nifi/