blob: 8647fc040c5acbfe46a2e59c90fa2b0aa362adcc [file] [view]
# URLFRONTIER
This module contains Spout and StatusUpdaterBolt implementations to communicate with a [URLFrontier](https://github.com/crawler-commons/url-frontier) service.
## Run the service
The easiest way to run the Frontier is to use Docker and do
```
docker pull crawlercommons/url-frontier:1.0
docker run --rm --name frontier -p 7071:7071 crawlercommons/url-frontier:1.0
```
## Configuration
Below are the configuration elements and their default values
```
urlfrontier.host: localhost
urlfrontier.port: 7071
urlfrontier.max.buckets: 10
urlfrontier.max.urls.per.bucket:10
```
Your StormCrawler topology requires the following dependency in its pom.xml (just like with any other module)
```
<dependency>
<groupId>org.apache.stormcrawler</groupId>
<artifactId>stormcrawler-urlfrontier</artifactId>
<version>${stormcrawler.version}</version>
</dependency>
```
but can also include
```
<dependency>
<groupId>com.github.crawler-commons</groupId>
<artifactId>urlfrontier-client</artifactId>
<version>1.2</version>
</dependency>
```
so that the [URLFrontier client](https://github.com/crawler-commons/url-frontier/client) gets added to the uber-jar.
This way you will be able to interact with the Frontier from the command line, e.g. to inject seeds
```
java -cp target/*.jar crawlercommons.urlfrontier.client.Client PutUrls -f seeds.txt
```