单节点中风暴执行的问题

时间:2015-03-13 06:38:41

标签: apache-storm

我们在单节点开发服务器中配置了Storm,其中大多数配置都设置为默认值(非本地模式)。 只有风暴灵气,主管和工人在这个单一节点上运行,并且还配置了UI。

AFAIK并行性和配置因拓扑而异。 我认为找到正确的并行性和配置只能通过试错法。

因此,为了找到最佳的并行性,我们已经开始在单个节点中使用各种配置测试我们的Storm拓扑。

奇怪的是,结果出乎意料:

我们的拓扑处理来自HDFS目录的xml文件流。 有一个喷口(平行度总是1)和四个螺栓。

  • 单身工作者

无论拓扑并行性如何,我们都得到几乎相同的性能结果(处理数据的速率)

  • 多名工人

无论拓扑并行性是什么,我们都会获得与单个工作者相似的性能,直到某个时间(大多数情况下为10分钟)。

但是在完成拓扑之后重新启动没有任何错误跟踪。

我们观察到,与单个工作者在20分钟内处理的数据相比,5个工人具有相同的并行性需要90分钟。 此外,拓扑已经重新启动了7次,有5名工人。 并且CPU使用率相对较高。 (其他人也遇到过拓扑重启问题http://search-hadoop.com/m/LrAq5ZWeaU,但没有回答)

在测试了许多配置之后,我们发现没有并行性的单个工作者(每个具有2个或3个实例的螺栓)比高并行性或更多的工作者更好。

理想情况下,Storm拓扑的性能应该更好,更多没有工人/并行性。

显然这条规则在这里并不好。

为什么我们不能在单个节点中设置多个工作人员?

单个节点中可以运行的最大工作数是多少?

扩展性能需要哪些Storm配置更改? (我已经尝试过nimbus.childopts和worker.childopts)

1 个答案:

答案 0 :(得分:0)

如果您在一个节点上的CPU使用率很高,那么在增加并行性时,您将无法获得更好的性能。如果确实增加了并行性,那么对于恒定数量的CPU周期,争用就会更大。不知道您的特定拓扑结构,我只能建议您寻找降低螺栓和喷口CPU使用率的方法。只有这样才能添加更多的螺栓和喷口实例才有意义。