如何解决Stormcrawler Topology 类在我们使用 es-injector.flux 运行时不起作用
我几乎没有需要使用stormcrawler抓取的网址。根据[link]https://medium.com/analytics-vidhya/web-scraping-and-indexing-with-stormcrawler-and-elasticsearch-a105cb9c02ca[/link]I按照所有步骤进行操作,并在我的弹性中抓取并加载了内容。
根据上面的博客,他使用 Flux 命令向 ES 注入拓扑。
spouts:
-
className: com.digitalpebble.stormcrawler.spout.FileSpout
constructorArgs:
- "stormcrawlertest-master/"
- seeds.txt
- true
id: spout
parallelism: 1
streams:
-
from: spout
grouping:
customClass:
className: com.digitalpebble.stormcrawler.util.URLStreamGrouping
constructorArgs:
- byHost
streamId: status
type: CUSTOM
to: status
这将向 ES 注入 url。 我在 Flux 中关注了同一个类并创建了一个主类
String[] argsa = new String[] { "-conf","/crawler-conf.yaml","-conf","/es-conf.yaml","-local" };
ConfigurableTopology.start(new InjectorTopology(),argsa);
public class InjectorTopology extends ConfigurableTopology {
@Override
protected int run(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("spout",new FileSpout("stormcrawlertest-master/","seeds.txt",true),1);
builder.setBolt("status",new StatusUpdaterBolt(),1).customGrouping("spout",new URLStreamGrouping(Constants.PARTITION_MODE_HOST));
return submit("ESInjectorInstance",conf,builder);
}}
并通过 maven run 清理和打包 pythonstorm.py jar target/stormcrawlertest-1.0-SNAPSHOT.jar com.my.sitescraper.main.SiteScraper 这不是向 ES 注入任何网址。
我缺少什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。