Apache Nifi 慢集群问题
Apache Nifi slow cluster issue
我正在为我的点击流项目之一使用 Apache nifi 来做一些 ETL。
我的流量约为 每秒 300 条消息,目前使用以下基础设施:
- RAM - 16 GB
- 交换 - 6 GB
- CPU - 16 核
- 磁盘 - 100GB(不需要持久性)
- 集群 - 6 个节点
整个集群 UI 由于以下问题变得极其缓慢
- 处理器在发生某些故障时给予背压,这会消耗大量线程
- 出处写入变得很慢
- 跨节点的心跳变慢
Cluster Heart beat
我对设置有以下疑问
- 是否推荐使用 RPG,因为它是一个 HTTP 调用,我用它来传播
跨所有节点,因为 EMQTT 存在问题
消费者组的进程。
- 应该分配的线程数的推荐值是多少
每核心?
- 基础架构规模调整的准则是什么
- 具有高传入请求和大量繁重 JSON 转换解析的大型集群的调优参数是什么
几个建议
- 是的,推荐使用RPG,至少从我的经验来看,RPG似乎提供了更好的分布。看看下面的[3]
- 有些处理器比其他处理器 CPU 密集,因此对于可以为
Concurrent Tasks
设置什么值没有明确的答案。这更多是您必须掌握的反复试验或测试和微调方法。一个建议是,如果为CPU密集型处理器设置太多Concurrent Tasks
,会对节点造成严重影响。
- Hortonworks 对此做了详细的指导。我在下面提供了 link。 [1]
一些最佳实践和实用指南:
我正在为我的点击流项目之一使用 Apache nifi 来做一些 ETL。
我的流量约为 每秒 300 条消息,目前使用以下基础设施:
- RAM - 16 GB
- 交换 - 6 GB
- CPU - 16 核
- 磁盘 - 100GB(不需要持久性)
- 集群 - 6 个节点
整个集群 UI 由于以下问题变得极其缓慢
- 处理器在发生某些故障时给予背压,这会消耗大量线程
- 出处写入变得很慢
- 跨节点的心跳变慢 Cluster Heart beat
我对设置有以下疑问
- 是否推荐使用 RPG,因为它是一个 HTTP 调用,我用它来传播 跨所有节点,因为 EMQTT 存在问题 消费者组的进程。
- 应该分配的线程数的推荐值是多少 每核心?
- 基础架构规模调整的准则是什么
- 具有高传入请求和大量繁重 JSON 转换解析的大型集群的调优参数是什么
几个建议
- 是的,推荐使用RPG,至少从我的经验来看,RPG似乎提供了更好的分布。看看下面的[3]
- 有些处理器比其他处理器 CPU 密集,因此对于可以为
Concurrent Tasks
设置什么值没有明确的答案。这更多是您必须掌握的反复试验或测试和微调方法。一个建议是,如果为CPU密集型处理器设置太多Concurrent Tasks
,会对节点造成严重影响。 - Hortonworks 对此做了详细的指导。我在下面提供了 link。 [1]
一些最佳实践和实用指南: