添加更多的hadoop节点并不能提高Nutch爬网速度



我正在用Apache Nutch(1.18版本(抓取网页。

我认为添加更多的hadoop节点可以让Nutch更快地抓取网页。

然而,事实并非如此。使用3个数据节点和5个数据节点进行爬网时几乎没有差异。

我还添加了--num fetchers参数(值为5,因为我的hadoop数据节点数为5(。

请帮我找出问题出在哪里。

只有覆盖许多网站(主机/域(的广泛网络爬网才能从添加更多Hadoop节点中获利。如果只对少量站点进行爬网,则并行化不会使Nutch更快。Nutch被配置为默认情况下表现礼貌,不并行访问单个站点,也在从同一站点连续获取之间等待。

但有一些方法可以让Nutch更快地抓取单个网站。

  1. 要使单个取卡器任务更快(并更积极地从单个主机(或域,取决于partition.url.mode的值(取卡,需要调整以下配置属性:fetcher.server.delayfetcher.threads.per.queue以及可能的其他取卡器属性。

  2. 为了允许更多的fetcher任务(Hadoop节点(并行地抓取同一个网站,需要修改URLPartitioner的getPartition方法,请参阅本讨论。

请注意,未经同意,让Nutch变得更具攻击性可能会导致被爬网网站的管理员投诉,并增加被屏蔽的可能性!