Apache storm 在具有状态索引的stormcrawler上运行多个拓扑

Apache storm 在具有状态索引的stormcrawler上运行多个拓扑,apache-storm,stormcrawler,Apache Storm,Stormcrawler,我的用例: 我有许多域需要爬网,每个域都有自己的过滤器配置。每个域现在都作为拓扑运行。 我看到一些域已经爬网了大约10万个URL,在状态队列中还有50万个。 其他拓扑都闲置着,只获取种子url。 每个拓扑都有2GB的RAM,每个队列有10个线程,最大bucket为50,每个bucket的url为100 拓扑闲置的原因可能是什么。。?我怀疑状态队列中有大量URL处于“已发现”状态。您使用什么作为后端?如果是ES,那么您应该能够使用Kibana检查状态索引,并查看这些空闲爬网的种子会发生什么情况。这

我的用例:

我有许多域需要爬网,每个域都有自己的过滤器配置。每个域现在都作为拓扑运行。 我看到一些域已经爬网了大约10万个URL,在状态队列中还有50万个。 其他拓扑都闲置着,只获取种子url。 每个拓扑都有2GB的RAM,每个队列有10个线程,最大bucket为50,每个bucket的url为100


拓扑闲置的原因可能是什么。。?我怀疑状态队列中有大量URL处于“已发现”状态。

您使用什么作为后端?如果是ES,那么您应该能够使用Kibana检查状态索引,并查看这些空闲爬网的种子会发生什么情况。这可能是因为它们被robots.txt阻止,无法继续前进


我会对所有域使用一个状态索引和一个拓扑结构,这将更易于管理和监视。可以轻松地为每个种子设置URL筛选,例如,通过在筛选器配置中为每个域定义单独的URL筛选文件,甚至在同一URL筛选文件中定义所有URL筛选文件

您使用什么作为后端?如果是ES,那么您应该能够使用Kibana检查状态索引,并查看这些空闲爬网的种子会发生什么情况。这可能是因为它们被robots.txt阻止,无法继续前进


我会对所有域使用一个状态索引和一个拓扑结构,这将更易于管理和监视。可以轻松地为每个种子设置URL筛选,例如,通过在筛选器配置中为每个域定义单独的URL筛选文件,甚至在同一URL筛选文件中定义所有URL筛选文件

感谢您的回复,在我的例子中,我有大约300个域和一组子域。因此,使用多个拓扑会更容易,因为每个域都有自己的爬行速度限制。感谢您的响应,在我的例子中,我有大约300个域和一组子域。因此,使用多个拓扑使其更容易,因为每个域在爬网速度上都有自己的限制。