问题标签 [stormcrawler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
368 浏览

web-crawler - 调整 Storm-Crawler 以充分利用可用资源

我有一个完全专用于基于 Storm-Crawler 的爬虫的节点。我拥有 20 个双核 CPU、130 Gb RAM 和 10Gb/s 以太网连接。

我将拓扑简化为:CollapsingSpout -> URLPartitionerBolt -> FetcherBolt。spout 正在从 Elasticsearch 索引(大约 50 M 记录)中读取数据。Elasticsearch 配置了 30 GB RAM 和 2 个分片。

我使用一个具有大约 50 GB RAM 专用于 JVM 的工作人员。使用不同的设置(线程总数,每个队列的线程数,最大挂起的 spout,一些与 Elasticsearch 相关的,例如桶数和桶大小)我可以达到 100 MB/s 的整体获取速度。但是,查看 ganglia 报告,它仅对应于我可用带宽的 10%。请注意,CPU 使用率约为 20%,RAM 不是问题。

我正在寻找一些关于什么可能是我的瓶颈的提示,以及关于如何调整/调整我的爬虫以充分利用我可用的资源的建议。

提前致谢。

艾蒂安

0 投票
1 回答
105 浏览

debugging - 调试风暴爬虫

你如何调试 Storm-Crawl?

我的意思是你写了一些模块,你想检查它。你可以写单元测试,但你想在系统上检查它(可能是本地系统),你怎么做?

我认为 Julien 会正确回答这个问题。

0 投票
2 回答
3060 浏览

web-crawler - Nutch vs Heritrix vs Stormcrawler vs MegaIndex vs Mixnode

我们需要每两周抓取大量(约 15 亿)网页。速度,因此成本,对我们来说是一个巨大的因素,因为我们最初的尝试最终花费了我们超过 2 万美元。

有没有关于哪个爬虫在分布式环境中表现最好的数据?

0 投票
1 回答
436 浏览

web-crawler - Stormcrawler 不使用 Elasticsearch 索引内容

使用 Stormcrawler 时,它是对 Elasticsearch 的索引,而不是对内容的索引。

Stormcrawler 是最新的'origin/master' https://github.com/DigitalPebble/storm-crawler.git

使用elasticsearch-5.6.4

crawler-conf.yaml 有

indexer.url.fieldname: "url" indexer.text.fieldname: "content" indexer.canonical.name: "canonical"

url 和 title 字段被索引,但不是内容。

我试图通过遵循 Julien 的教程来完成这项工作:https ://www.youtube.com/watch?v=xMCuWpPh-4A

一切正常,除了内容没有被 Elasticsearch 索引。我觉得这是一些小的配置错误,但我尝试了很多变体但没有运气。所以,现在我寻求帮助。

谢谢。

0 投票
1 回答
94 浏览

web-crawler - 是否可以配置storm爬虫在爬取时将host url添加到url路由的前面?

我想抓取这样的网址,这些网址前面没有主机。

我可以使用 Stormcrawler 中的配置文件在这些 url 前面添加 url 的主机部分吗?

0 投票
1 回答
486 浏览

web-crawler - 我可以在风暴爬虫中存储网页的 html 内容吗?

我正在使用strom-crawler-elastic。我可以看到这些获取的 url 和状态。ES_IndexInit.sh 文件中的配置更改仅提供 url、标题、主机、文本。但是我可以用 html 标签存储整个 html 内容吗?

0 投票
1 回答
76 浏览

web-crawler - StatusUpdaterBolt:找不到 ID 的未确认元组

我有一个非常简单的拓扑结构,它从 ES 索引 (AggregationSpout) 中喷出,获取页面 (FetcherBolt) 并使用 StatusUpdaterBolt 将 ES 状态更新为“FETCHED”。

但是,我注意到日志文件中有这样的警告:

[警告] 找不到 357dc2fcb59c6457884a8f7a83794c4cf77f490a3acfd849a792a35153ed4665 的未确认元组

相应的调试信息如下所示: ...

2017-12-06 12:44:53.572 oetTtracer elasticsearch[ client ][transport_client_boss][T#2][TRACE][214][indices:data/write/bulk]收到来自[{ESPatentNode-1}{S4C2h8WjRuu6MpM25oM-的响应3w}{Fvjny3VaQl2w45hPXZ5A9g}{127.0.0.1}{127.0.0.1:9300}] 2017-12-06 12:44:53.572 cdsepStatusUpdaterBolt elasticsearch[ client ][listener][T#1][DEBUG] afterBulk [105] with 47 responses 2017-12-06 12:44:53.572 cdsepStatusUpdaterBolt elasticsearch[ client ][listener][T#1] [DEBUG] Acked 1 tuple(s) for ID 5967f802c84e3e9c6ac22a3184e0665b850779cba9050fa4ec910a41f9f90655 2017-12-06 12:44:53.573 cdsepStatusUpdaterBolt elasticsearch[ client] [侦听器] [t#1] [debug] ID 357DC2FCB59C6457884A8F7A83794CF77F490A3ACFDD849A79A792A35151515153ED4665ED4665 2017-12-12-12-12-12:44:44:44:44:44:(s) for ID 092e59cd1ebb004884babfaf1d6ca4b7505b3dcb1b3cb3a52b9072d647fb7a93 2017-12-06 12:44:53.573 cdsepStatusUpdaterBolt elasticsearch[ client ][listener][T#1] [WARN] Could not find unacked tuple for 357dc2fcb59c6457884a8f7a83794c4cf77f490a3acfd849a792a35153ed4665

我想了解的是:

  1. 为什么可以将多个元组附加到一个 ID
  2. 如何在 StatusUpdaterBolt 的 afterBulk 方法中通过“响应”循环两次相同的“waitAck”缓存元素

在此先感谢您的帮助!

0 投票
1 回答
42 浏览

web-crawler - 将内容长度存储为字段值(也称为索引文档的元数据)

我们希望将爬虫页面的内容长度作为元数据存储在文档中。我知道我们可以设置http.store.headers=true但我不信任服务器的 http-headers。

所以我们把 FetchedBolt 改成这样写

协议响应#getContent().length

作为元数据的值(除了“bytes_fetched”指标)。

有没有办法在不更改代码的情况下获得这个值?(我们可以在 fetch 和 parse 之间添加一个额外的螺栓,希望有一个更简单的解决方案。)

0 投票
1 回答
102 浏览

web-crawler - 每小时爬取 1M 的资源

我正在寻找有关我应该为我的爬虫提供多少资源(主要是 CPU 和 RAM)的迹象,以便能够每小时顺畅地抓取约 1M 页面。我在单个节点上运行所有内容并使用 ES 来实现持久性。我在 1 M 域内进行递归爬网。谢谢!

0 投票
1 回答
201 浏览

elasticsearch - 如何使用 StormCrawler 将网站内容存储在状态索引中?

我们正在尝试将网页的内容与 url、状态和元数据信息一起存储在Status Index中。

我们尝试编辑ES_IndexInit.sh并在 Status 的映射部分添加下一个属性:

但是在爬取过程之后我们在 Kibana 中看不到任何东西。

我们的猜测是,我们将不得不更改 Storm crawler 项目中的 Java 源代码,但不知道如何进行。

任何见解都会非常有帮助。先感谢您。