From 238328da4d0e2975df4358895b402e5cf50aaa53 Mon Sep 17 00:00:00 2001 From: Bakz Date: Sun, 31 Jul 2016 18:32:51 -0700 Subject: [PATCH 01/18] added sudo to a line in readme, added instructions on making common search your default engine in chrome --- theme/templates/home.html | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/theme/templates/home.html b/theme/templates/home.html index 92f07e1..47aec19 100644 --- a/theme/templates/home.html +++ b/theme/templates/home.html @@ -47,5 +47,29 @@

Discussion forums

+
+
+

Set Common Search UI Demo as your Default Search Engine on Chrome (very early beta)

+ +
    +
  1. Click on the Chrome menu icon on the top right of your browser
  2. +
  3. Click Settings
  4. +
  5. Under the Search header click Manage search engines
  6. +
  7. Scroll to the bottom of the Other search engines section
  8. +
  9. You should see three fields to enter a new search engine.

    + + Add a new search engine:
    + Enter, "Common Search"

    + Keyword:
    + Enter, "commonsearch.org"

    + URL with %s in place of query:
    + Enter, "https://uidemo.commonsearch.org/?g=en&q=%s"

  10. +
  11. Press enter on your keyboard
  12. +
  13. Scroll up and find Common Search under the same Other search engines section you are already in
  14. +
  15. Hover your mouse over the Common Search entry you just made, and click on the Make Default button.
  16. +
  17. Congrats! You are now using Common Search as your default search engine :)
  18. +
+
+
-{% endblock %} \ No newline at end of file +{% endblock %} From 079a623450241c6681dd9ac15899e9af30bbdb2e Mon Sep 17 00:00:00 2001 From: Bakz Date: Sun, 31 Jul 2016 18:43:01 -0700 Subject: [PATCH 02/18] modified readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 16e2005..348e462 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Running `cosr-about` on your local machine is very simple. You only need to have Once Docker is launched, just run: ``` -make docker_devserver +[sudo] make docker_devserver ``` Then open http://192.168.99.100:9701/ in your browser. (Replace "192.168.99.100" by the address of your Docker machine. On a Mac, you can get it with `docker-machine ip boot2docker`) @@ -31,4 +31,4 @@ Then open http://localhost:9701/ This website uses [Pelican](http://blog.getpelican.com/) to statically generate a bunch of HTML files from [Markdown](http://commonmark.org/) source. -We use a customized [Bootstrap 3](http://getbootstrap.com/) template. We welcome any contributions to make it prettier! \ No newline at end of file +We use a customized [Bootstrap 3](http://getbootstrap.com/) template. We welcome any contributions to make it prettier! From cdde1ca408cc2bd78ac4250940eff183298887ab Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Tue, 2 Aug 2016 13:57:28 -0400 Subject: [PATCH 03/18] Replace IRC by Slack --- README.md | 2 ++ content/pages/contact.md | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 16e2005..b0454aa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # cosr-about +[![Chat with us on Slack](https://slack.commonsearch.org/badge.svg)](https://slack.commonsearch.org) [![Apache License 2.0](https://img.shields.io/github/license/commonsearch/cosr-back.svg)](LICENSE) + This repository contains our presentation website and blog hosted at https://about.commonsearch.org/. You can use the [issues page](https://github.com/commonsearch/cosr-about) to suggest improvements to the content or layout! diff --git a/content/pages/contact.md b/content/pages/contact.md index 799f2ed..8c0505d 100644 --- a/content/pages/contact.md +++ b/content/pages/contact.md @@ -6,9 +6,11 @@ Template: page_contribute You can send us an email to [contact@commonsearch.org](mailto:contact@commonsearch.org) -## IRC +## Slack -To talk with us directly you can join [irc://irc.freenode.net/commonsearch](https://webchat.freenode.net/?channels=#commonsearch) +To chat with us directly you can join our [Slack channel](https://slack.commonsearch.org) by clicking on the button below: + + ## Press From 83d4b92a396324110ac7f8154a1f7fbb9dfc8c3c Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Tue, 2 Aug 2016 18:35:48 -0400 Subject: [PATCH 04/18] Fix GitHub link --- ...ur-first-public-datasets-host-level-webgraph-and-pagerank.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2016/07/our-first-public-datasets-host-level-webgraph-and-pagerank.md b/content/blog/2016/07/our-first-public-datasets-host-level-webgraph-and-pagerank.md index ea4f49d..78ab519 100644 --- a/content/blog/2016/07/our-first-public-datasets-host-level-webgraph-and-pagerank.md +++ b/content/blog/2016/07/our-first-public-datasets-host-level-webgraph-and-pagerank.md @@ -63,7 +63,7 @@ We encourage everyone to analyze these datasets and **report their findings publ Here is a non-exhaustive list of interesting areas to explore: - - Spam! We have opened an [issue in GitHub]() to track the progress. Join the fight! + - Spam! We have opened an [issue in GitHub](https://github.com/commonsearch/cosr-back/issues/52) to track the progress. Join the fight! - Analyzing correlations between the PageRank dataset and other public domain rankings (Top sites in Alexa, ...) - Using the WebGraph dataset to create other metrics, for instance: [Centrality](https://en.wikipedia.org/wiki/Centrality), [CheiRank](https://en.wikipedia.org/wiki/CheiRank), [HITS](https://en.wikipedia.org/wiki/HITS_algorithm), [SALSA](https://en.wikipedia.org/wiki/SALSA_algorithm), ... - Review our [Python code on GitHub](https://github.com/commonsearch/cosr-back) to look for bugs and speed improvements! From 093f0a3d1a066a0db1b71d2c6a5b3e635c5b82a1 Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Sun, 7 Aug 2016 16:44:33 -0400 Subject: [PATCH 05/18] Add Tor hidden service and publish August 2016 update --- .../08/state-of-common-search-august-2016.md | 54 +++++++++++++++++++ content/pages/contact.md | 4 ++ content/pages/privacy.md | 3 +- 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 content/blog/2016/08/state-of-common-search-august-2016.md diff --git a/content/blog/2016/08/state-of-common-search-august-2016.md b/content/blog/2016/08/state-of-common-search-august-2016.md new file mode 100644 index 0000000..a848969 --- /dev/null +++ b/content/blog/2016/08/state-of-common-search-august-2016.md @@ -0,0 +1,54 @@ +Title: State of Common Search - August 2016 +Slug: state-of-common-search-august-2016 +Date: 2016-08-07 15:42:35 +Author: commonsearch + +There has been a lot happening at [Common Search](https://about.commonsearch.org/) lately: we published our first datasets, opened a Tor hidden service, switched to Slack and started doing automated UI tests! + + + +## First datasets + +Last week, we published our [first two datasets](https://about.commonsearch.org/2016/07/our-first-public-datasets-host-level-webgraph-and-pagerank/): a host-level web graph and a host-level list of PageRanks. + +We plan to release even more datasets in the future to keep our service as transparent as we can, so feel free to test them, analyze the data and suggest improvements! + + +## Tor hidden service + +We use CloudFlare as a CDN, but we explicitly whitelisted Tor users so they should not have any issue connecting to our [UI Demo](https://uidemo.commonsearch.org/). + +However, some users may want to access Common Search directly through Tor for better [privacy](/privacy), which is why we just opened a [Tor hidden service](https://www.torproject.org/docs/hidden-services.html.en) with a [.onion](https://en.wikipedia.org/wiki/.onion) address: + +**[http://comsearchl2zlnre.onion](http://comsearchl2zlnre.onion)** + +Please report any issues connecting to the service! + + +## Slack channel + +Due to low traffic in our IRC channel, we have switched to [Slack](https://slack.commonsearch.org). Though it is closed source, we feel it is a better, pragmatic choice for allowing new contributors to join the community easily. + +To join, just click on the button below: + + + +If you still prefer IRC, Slack has a gateway that you can use with a regular IRC client. Register first with the button above and then follow their [instructions](https://get.slack.help/hc/en-us/articles/201727913-Connecting-to-Slack-over-IRC-and-XMPP). + +## Automated UI tests + +It is important that our [Frontend](/developer/frontend) behaves the same way regardless of the browser people use. To make sure it stays that way, we started doing [automated tests](https://github.com/commonsearch/cosr-front/tree/master/tests) with the [webdriver.io](http://webdriver.io/) project. + +We are using [Sauce Labs](https://saucelabs.com/) to run the tests in many different browsers and operating systems. You can even see our [latest builds](https://saucelabs.com/open_sauce/user/commonsearch) with full in-browser replays. As an example, check out how Common Search behaves on [Windows 7 with IE 10](https://saucelabs.com/beta/tests/1a42c35a7f4d41d59c613b0c60d7ed54/commands)! + + +## Community + +So far we've had **16** contributors, **14** users who submitted issues, **28** who commented on an issue, and **141** who starred [one of our repositories](https://github.com/commonsearch). A **very big thanks** to them all! We hope you too will [join our growing community](/contributing)! + + +## What's next? + +Our #1 goal remains to grow the community with better documentation, easier setup for [new contributors](/contributing) and making sure their first-time experience is top-notch. + +In the next few weeks, we will also update the index of the [UI Demo](https://uidemo.commonsearch.org/) with many more domains and get one step closer to a useful service for everyone! diff --git a/content/pages/contact.md b/content/pages/contact.md index 8c0505d..55d0fbc 100644 --- a/content/pages/contact.md +++ b/content/pages/contact.md @@ -12,6 +12,10 @@ To chat with us directly you can join our [Slack channel](https://slack.commonse +## IRC + +Slack has an IRC gateway that you can use with a regular IRC client. Register first with the button above and then follow their [instructions](https://get.slack.help/hc/en-us/articles/201727913-Connecting-to-Slack-over-IRC-and-XMPP). + ## Press Though we are not looking for mainstream press until we have something to show, please reach out to [contact@commonsearch.org](mailto:contact@commonsearch.org) as well! diff --git a/content/pages/privacy.md b/content/pages/privacy.md index 6b97e89..9d9535c 100644 --- a/content/pages/privacy.md +++ b/content/pages/privacy.md @@ -22,7 +22,8 @@ The only information we (and our CDN) receive for each search are: We currently do not store any of this, though we will probably start logging aggregate query volume (without IP addresses) to understand usage and provide autocompletion. -We will also open a [Tor hidden service](https://en.wikipedia.org/wiki/Tor_(anonymity_network)#Hidden_services) so that our users can safely mask their IP address. See [cosr-ops#8](https://github.com/commonsearch/cosr-ops/issues/8). +We also have a [Tor hidden service](https://en.wikipedia.org/wiki/Tor_(anonymity_network)#Hidden_services) so that our users can safely mask their IP address: [http://comsearchl2zlnre.onion](http://comsearchl2zlnre.onion) + ## Why you can trust us From f716c852a86e8a874236b7aa236fdb52815621ba Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Thu, 11 Aug 2016 17:34:02 +0200 Subject: [PATCH 06/18] Add new tutorial, beta for now --- content/images/developer/README | 1 + .../tutorials/spark-backlinks-pipeline.svg | 2 + .../analyzing-the-web-with-spark-on-ec2.md | 143 ++++++++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 content/images/developer/README create mode 100644 content/images/developer/tutorials/spark-backlinks-pipeline.svg create mode 100644 content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md diff --git a/content/images/developer/README b/content/images/developer/README new file mode 100644 index 0000000..5b632e0 --- /dev/null +++ b/content/images/developer/README @@ -0,0 +1 @@ +The SVG diagrams are generated with https://www.draw.io/ \ No newline at end of file diff --git a/content/images/developer/tutorials/spark-backlinks-pipeline.svg b/content/images/developer/tutorials/spark-backlinks-pipeline.svg new file mode 100644 index 0000000..4f68673 --- /dev/null +++ b/content/images/developer/tutorials/spark-backlinks-pipeline.svg @@ -0,0 +1,2 @@ + +



Document Source
Common Crawl

Raw HTML
+ HTTP headers
[Not supported by viewer]
Parsing
Transforms raw HTML in Document objects
<b>Parsing</b><div>Transforms raw HTML in Document objects</div>
Filter plugin
Skips some URLs
[Not supported by viewer]
Hyperlinks plugin
Collects backlinks
[Not supported by viewer]

Output file
out/top_wikipedia.txt
[Not supported by viewer]
\ No newline at end of file diff --git a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md new file mode 100644 index 0000000..0043e98 --- /dev/null +++ b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md @@ -0,0 +1,143 @@ +Title: Tutorial: Analyzing the web with Spark on EC2 +Slug: developer/tutorials/analyzing-the-web-with-spark-on-ec2 +Template: page_developer + +This tutorial get you through all the steps required to analyze a large number of web pages with Spark on EC2 using our [Backend](/developer/backend). + +Common Search has a plugin system that allows developers to build their own processing pipeline. For this example, we will run a plugin that dumps a list of backlinks to a specific domain. + +Common Search uses the same pipeline to index the web in Elasticsearch, so you can follow the same steps to do any operation on the document sources we support. + +An [Amazon Web Services](https://aws.amazon.com/) account is needed for this tutorial, though depending on the volume you could run the pipeline entirely locally or on another cloud provider. + + +## 1. Install cosr-back and cosr-ops on your local machine + +We have Docker containers ready to use so this step should take you only a few minutes! + +You can follow the instructions in [cosr-back/INSTALL.md](https://github.com/commonsearch/cosr-back/blob/master/INSTALL.md) (which contains the Python code that analyzes the documents) and then [cosr-ops/INSTALL.md](https://github.com/commonsearch/cosr-ops/blob/master/INSTALL.md) (which contains the tools to manage operations and infrastructure). + + +## 2. Understand how document sources and plugins work + +You should view this process as a data pipeline with some document sources as input, and any number of plugins that can perform operations on the documents. + +In this tutorial we will use one document source (Common Crawl) and two plugins (one to filter documents, and one to dump our list of backlinks). + +For this example, let's collect all links to Wikipedia pages, except those coming from Blogpost or Tumblr. This is how the pipeline looks: + +[![Pipeline](/images/developer/tutorials/spark-backlinks-pipeline.svg)](/images/developer/tutorials/spark-backlinks-pipeline.svg) + + +## 3. Do a test run on your local machine + +It is very useful to test your pipeline on a few of documents on your local machine before scaling up to billions of documents! + +Open a console in the `cosr-back` repository you just installed, and run: + +``` +make docker_shell +``` + +This will take you inside a Docker container that already has all the dependencies you will need. + +Now you need to build the command line for your job. Let's understand how it is structured first: + +``` +spark-submit [spark_options] jobs/spark/pipeline.py --source [source_options] --plugin [plugin_options] [other_pipeline_options] +``` + +We don't need many Spark options in local, let's just use `--verbose`. + +We are using Common Crawl as a source, let's limit ourselves to 8 segments of 1000 documents each for this test run. This is done with `--source commoncrawl:limit=8,maxdocs=1000`. This will use the latest available version of Common Crawl. + +We are using 2 different plugins. The first is `plugins.filter.Domains`: it blacklists some domains we want to skip. You can configure it with `--plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com"` (note the quotes! we need them because the plugin argument includes a space). + +The second plugin is `plugin.hyperlinks.MostExternallyLinkedPages`. It will output a list of pages on a specific domain that have the most backlinks in the document sources we are processing. Let's configure it like this: `--plugin plugin.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia.txt`. + +Finally, let's add another useful option to our job: `--stop_delay 600`. This will prevent Spark from exiting for 10 minutes when your job is done, so that we have time to open the Spark Web UI and see what happened! + +Putting it all together, the command you need to run is: + +``` +spark-submit --verbose jobs/spark/pipeline.py --source commoncrawl:limit=8,maxdocs=1000 --plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com" --plugin plugin.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia.txt --stop_delay 600 +``` + +This is what you should get as output: + +XXXX + +Spark has a very convenient Web UI that lets you debug the jobs that are running. Go ahead and open it in [http://localhost:4040](http://localhost:4040). + +Once all the jobs are done and you have finished exploring the Spark UI, go back to the console and send a `Ctrl-C` to the command to interrupt the `stop_delay`. + +Now you can open the file `out/top_wikipedia.txt` that should have been created and make sure it is what you want! + + +## 4. Create a Spark cluster on EC2 + +Now, Common Crawl typically has 20,000+ segments of 50,000+ documents each so processing each document on your local machine will take a while. Let's move to the cloud! + +We are going to deploy a Spark cluster on a fleet of [Spot Instances on EC2](https://aws.amazon.com/ec2/spot/). Spot Instances are ideal for this kind of data processing: they cost much less than regular instances and if they are killed during our job, we can just run it again! + +To deploy our Spark cluster on EC2 we are using a tool called [Flintrock](https://github.com/nchammas/flintrock). All it requires is a YAML configuration file. + +There is a file in the `cosr-ops` repository called `configs/flintrock.yaml.template`. Rename it to `configs/flintrock.yaml` and change it with the values that match your AWS account. + +We should now choose an instance type and a number of machines in our cluster. Our pipeline is usually CPU-bound, so the most important metric will be the number of cores. The [C4 instance family](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/c4-instances.html) has the best CPU performance/cost ratio, and it usually takes around 15 minutes for a C4 core to index a full Common Crawl segment. + +For this example, this means that if we want to process the whole Common Crawl, we will need (15/60) * 20000 = 5000 CPU hours. If we want to run it in 24 hours, we will need 6 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in EC2 limits to be able to launch tens of them at once. + +Once you have the configuration of your cluster filled in your `flintrock.yaml` file, you are ready to launch the cluster! Open a console in the `cosr-ops` repository and just like the previous step, do `make docker_shell` to enter the container. + +Once in the container, you should configure your AWS credentials, doing something like this: + +``` +export AWS_ACCESS_KEY_ID=AKIAxxxxxxxxxxx +export AWS_SECRET_ACCESS_KEY=yyyyyyyyyyyyyyyyyyyyyyyyyy +``` + +Then, let's create the cluster: + +``` +make aws_spark_flintrock_create +``` + +If this command is successfuly, it will ultimately log you in the Spark master server. + +The Web UI should also have been launched. Open it at http://[spark_master_hostname]:8080 + + +## 5. Launch your index job + +You have now a shell in the Spark master. This is very similar to step 3 except now you have much more CPUs at your fingertips and you are paying for each hour that the cluster spends online. So let's not waste any time! + +First, let's open a `screen` in the server, so that we don't loose anything if you are temporarily disconnected from the Internet. + +``` +screen -S sparkjob +``` + +You can exit this screen with `Ctrl-A D` and go back into it with `screen -x sparkjob`. + +Now let's assemble a new `spark-submit` command like we did in step 3! + +This time, there are a few flags that will change: + + - We want to use all the machines in the cluster so we have to explicitly reference the master in the Spark options. The internal address of the Spark master appears in the Web UI and should be something like `spark://ip-172-31-40-187:7077`. + - We want to index the whole Common Crawl, so there are no more `limit` or `maxdocs` on our document source. + - Gzipping the output file could be nice, so we'll add a `gzip=1` option to the hyperlinks plugin. + - Storing the `top_wikipedia.txt` file on the local filesystem won't work because we have many different machines! So we need to save it to S3. If you don't have an existing S3 bucket you can use, go ahead and create one named `my-spark-results`. + +So this is the type of command we will run inside the `screen`: + +``` +spark-submit --verbose --master spark://[spark_master_ip]:7077 jobs/spark/index.py --source commoncrawl --plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com" --plugin plugin.hyperlinks.MostExternallyLinkedPages:path=s3a://my-spark-results/top_wikipedia.txt,domain=wikipedia.org,gzip=1 --stop_delay 600 +``` + +Once the pipeline is finished... congratulations! You just ran some code on billions of web pages :-) + +There are a few things you may want to try after this: + + - Try our other plugins and document sources... or create your own! + - Index the documents into Elasticsearch, like Common Search does. From 2922f970ac65b79496dd924dcc3ba03ee21b3f7a Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Thu, 11 Aug 2016 22:01:55 +0200 Subject: [PATCH 07/18] Fixes to the tutorial --- .../analyzing-the-web-with-spark-on-ec2.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md index 0043e98..67a30a8 100644 --- a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md +++ b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md @@ -2,9 +2,9 @@ Title: Tutorial: Analyzing the web with Spark on EC2 Slug: developer/tutorials/analyzing-the-web-with-spark-on-ec2 Template: page_developer -This tutorial get you through all the steps required to analyze a large number of web pages with Spark on EC2 using our [Backend](/developer/backend). +This tutorial get you through all the steps required to analyze a large number of web pages with [Apache Spark](spark.apache.org) on EC2 using our [Backend](/developer/backend). -Common Search has a plugin system that allows developers to build their own processing pipeline. For this example, we will run a plugin that dumps a list of backlinks to a specific domain. +Common Search has a plugin system that allows developers to build their own processing pipeline. For this tutorial, we will run a plugin that dumps a list of backlinks to a specific domain. Common Search uses the same pipeline to index the web in Elasticsearch, so you can follow the same steps to do any operation on the document sources we support. @@ -22,7 +22,7 @@ You can follow the instructions in [cosr-back/INSTALL.md](https://github.com/com You should view this process as a data pipeline with some document sources as input, and any number of plugins that can perform operations on the documents. -In this tutorial we will use one document source (Common Crawl) and two plugins (one to filter documents, and one to dump our list of backlinks). +In this tutorial we will use one document source ([Common Crawl](https://www.commoncrawl.org)) and two plugins (one to filter documents, and one to dump our list of backlinks). For this example, let's collect all links to Wikipedia pages, except those coming from Blogpost or Tumblr. This is how the pipeline looks: @@ -44,49 +44,49 @@ This will take you inside a Docker container that already has all the dependenci Now you need to build the command line for your job. Let's understand how it is structured first: ``` -spark-submit [spark_options] jobs/spark/pipeline.py --source [source_options] --plugin [plugin_options] [other_pipeline_options] +spark-submit [spark_options] spark/jobs/pipeline.py --source [source_options] --plugin [plugin_options] [other_pipeline_options] ``` -We don't need many Spark options in local, let's just use `--verbose`. +We don't need many [Spark options](http://spark.apache.org/docs/latest/configuration.html) in local, let's just use `--verbose`. -We are using Common Crawl as a source, let's limit ourselves to 8 segments of 1000 documents each for this test run. This is done with `--source commoncrawl:limit=8,maxdocs=1000`. This will use the latest available version of Common Crawl. +We are using [Common Crawl](https://github.com/commonsearch/cosr-back/blob/master/cosrlib/sources/commoncrawl.py) as a source, but let's limit ourselves to 8 segments of 1000 documents each for this test run with `--source commoncrawl:limit=8,maxdocs=1000`. This will use the latest available version of Common Crawl. -We are using 2 different plugins. The first is `plugins.filter.Domains`: it blacklists some domains we want to skip. You can configure it with `--plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com"` (note the quotes! we need them because the plugin argument includes a space). +We are using 2 different plugins: -The second plugin is `plugin.hyperlinks.MostExternallyLinkedPages`. It will output a list of pages on a specific domain that have the most backlinks in the document sources we are processing. Let's configure it like this: `--plugin plugin.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia.txt`. + - [plugins.filter.Domains](https://github.com/commonsearch/cosr-back/blob/master/plugins/filter.py): it blacklists some domains we want to skip. You can configure it with `--plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com"` (note the quotes! we need them because the plugin argument includes a space). + - [plugins.hyperlinks.MostExternallyLinkedPages](https://github.com/commonsearch/cosr-back/blob/master/plugins/hyperlinks.py): it will output a list of pages on a specific domain that have the most backlinks in the document sources we are processing. Let's configure it like this: `--plugin plugins.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia/`. Finally, let's add another useful option to our job: `--stop_delay 600`. This will prevent Spark from exiting for 10 minutes when your job is done, so that we have time to open the Spark Web UI and see what happened! Putting it all together, the command you need to run is: ``` -spark-submit --verbose jobs/spark/pipeline.py --source commoncrawl:limit=8,maxdocs=1000 --plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com" --plugin plugin.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia.txt --stop_delay 600 +spark-submit --verbose spark/jobs/pipeline.py --source commoncrawl:limit=8,maxdocs=1000 --plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com" --plugin plugins.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia/ --stop_delay 600 ``` -This is what you should get as output: +Spark has a very convenient Web UI that lets you debug the jobs that are running. Go ahead and open it in [http://localhost:4040](http://localhost:4040). -XXXX +
Spark Web UI
The Spark Web UI
-Spark has a very convenient Web UI that lets you debug the jobs that are running. Go ahead and open it in [http://localhost:4040](http://localhost:4040). Once all the jobs are done and you have finished exploring the Spark UI, go back to the console and send a `Ctrl-C` to the command to interrupt the `stop_delay`. -Now you can open the file `out/top_wikipedia.txt` that should have been created and make sure it is what you want! +Now you can open the file `out/top_wikipedia/part-*.txt` that should have been created and make sure it is what you want! ## 4. Create a Spark cluster on EC2 -Now, Common Crawl typically has 20,000+ segments of 50,000+ documents each so processing each document on your local machine will take a while. Let's move to the cloud! +Now, Common Crawl typically has 30,000+ segments of 50,000+ documents each so processing each document on your local machine will take a while. Let's move to the cloud! We are going to deploy a Spark cluster on a fleet of [Spot Instances on EC2](https://aws.amazon.com/ec2/spot/). Spot Instances are ideal for this kind of data processing: they cost much less than regular instances and if they are killed during our job, we can just run it again! To deploy our Spark cluster on EC2 we are using a tool called [Flintrock](https://github.com/nchammas/flintrock). All it requires is a YAML configuration file. -There is a file in the `cosr-ops` repository called `configs/flintrock.yaml.template`. Rename it to `configs/flintrock.yaml` and change it with the values that match your AWS account. +There is a file in the [cosr-ops repository](https://github.com/commonsearch/cosr-ops) called [configs/flintrock.yaml.template](https://github.com/commonsearch/cosr-ops/blob/master/configs/flintrock.yaml.template). Rename it to `configs/flintrock.yaml` and change it with the values that match your AWS account. We should now choose an instance type and a number of machines in our cluster. Our pipeline is usually CPU-bound, so the most important metric will be the number of cores. The [C4 instance family](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/c4-instances.html) has the best CPU performance/cost ratio, and it usually takes around 15 minutes for a C4 core to index a full Common Crawl segment. -For this example, this means that if we want to process the whole Common Crawl, we will need (15/60) * 20000 = 5000 CPU hours. If we want to run it in 24 hours, we will need 6 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in EC2 limits to be able to launch tens of them at once. +For this example, this means that if we want to process the whole Common Crawl, we will need (15/60) * 30000 = 7500 CPU hours. If we want to run it in 24 hours, we will need 9 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in EC2 limits to be able to launch tens of them at once. Once you have the configuration of your cluster filled in your `flintrock.yaml` file, you are ready to launch the cluster! Open a console in the `cosr-ops` repository and just like the previous step, do `make docker_shell` to enter the container. @@ -127,12 +127,12 @@ This time, there are a few flags that will change: - We want to use all the machines in the cluster so we have to explicitly reference the master in the Spark options. The internal address of the Spark master appears in the Web UI and should be something like `spark://ip-172-31-40-187:7077`. - We want to index the whole Common Crawl, so there are no more `limit` or `maxdocs` on our document source. - Gzipping the output file could be nice, so we'll add a `gzip=1` option to the hyperlinks plugin. - - Storing the `top_wikipedia.txt` file on the local filesystem won't work because we have many different machines! So we need to save it to S3. If you don't have an existing S3 bucket you can use, go ahead and create one named `my-spark-results`. + - Storing the output file on the local filesystem won't work because we have many different machines! So we need to save it to S3. If you don't have an existing S3 bucket you can use, go ahead and create one named `my-spark-results`. So this is the type of command we will run inside the `screen`: ``` -spark-submit --verbose --master spark://[spark_master_ip]:7077 jobs/spark/index.py --source commoncrawl --plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com" --plugin plugin.hyperlinks.MostExternallyLinkedPages:path=s3a://my-spark-results/top_wikipedia.txt,domain=wikipedia.org,gzip=1 --stop_delay 600 +spark-submit --verbose --master spark://[spark_master_ip]:7077 spark/jobs/pipeline.py --source commoncrawl --plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com" --plugin plugins.hyperlinks.MostExternallyLinkedPages:path=s3a://my-spark-results/top_wikipedia/,domain=wikipedia.org,gzip=1 --stop_delay 600 ``` Once the pipeline is finished... congratulations! You just ran some code on billions of web pages :-) From 7194b713e36b61b8eb64aeb9f50d41d6165b6066 Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Thu, 11 Aug 2016 22:04:07 +0200 Subject: [PATCH 08/18] Fix missing image --- .../tutorials/spark-backlinks-web-ui.png | Bin 0 -> 245403 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 content/images/developer/tutorials/spark-backlinks-web-ui.png diff --git a/content/images/developer/tutorials/spark-backlinks-web-ui.png b/content/images/developer/tutorials/spark-backlinks-web-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f14063815067a7d3709acc3b0585f50869b646 GIT binary patch literal 245403 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

Wvt&5 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 z

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 Nwt~0%KF(FuGgn` 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%0AdjJmWxt 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 fDE=RgD4dr*<=gkLTr&r Date: Fri, 12 Aug 2016 00:58:25 +0200 Subject: [PATCH 09/18] Tutorial improvements --- .../analyzing-the-web-with-spark-on-ec2.md | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md index 67a30a8..37ec8e3 100644 --- a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md +++ b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md @@ -15,7 +15,10 @@ An [Amazon Web Services](https://aws.amazon.com/) account is needed for this tut We have Docker containers ready to use so this step should take you only a few minutes! -You can follow the instructions in [cosr-back/INSTALL.md](https://github.com/commonsearch/cosr-back/blob/master/INSTALL.md) (which contains the Python code that analyzes the documents) and then [cosr-ops/INSTALL.md](https://github.com/commonsearch/cosr-ops/blob/master/INSTALL.md) (which contains the tools to manage operations and infrastructure). +There are 2 sets of instructions to follow: + + - [cosr-back/INSTALL.md](https://github.com/commonsearch/cosr-back/blob/master/INSTALL.md): Python code that analyzes the documents + - [cosr-ops/INSTALL.md](https://github.com/commonsearch/cosr-ops/blob/master/INSTALL.md): Tools to manage operations and infrastructure ## 2. Understand how document sources and plugins work @@ -33,7 +36,7 @@ For this example, let's collect all links to Wikipedia pages, except those comin It is very useful to test your pipeline on a few of documents on your local machine before scaling up to billions of documents! -Open a console in the `cosr-back` repository you just installed, and run: +Open a console in the [cosr-back repository](https://github.com/commonsearch/cosr-back) you just installed, and run: ``` make docker_shell @@ -53,8 +56,8 @@ We are using [Common Crawl](https://github.com/commonsearch/cosr-back/blob/maste We are using 2 different plugins: - - [plugins.filter.Domains](https://github.com/commonsearch/cosr-back/blob/master/plugins/filter.py): it blacklists some domains we want to skip. You can configure it with `--plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com"` (note the quotes! we need them because the plugin argument includes a space). - - [plugins.hyperlinks.MostExternallyLinkedPages](https://github.com/commonsearch/cosr-back/blob/master/plugins/hyperlinks.py): it will output a list of pages on a specific domain that have the most backlinks in the document sources we are processing. Let's configure it like this: `--plugin plugins.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia/`. + - [plugins.filter.Domains](https://github.com/commonsearch/cosr-back/blob/master/plugins/filter.py): blacklists some domains we want to skip. You can configure it with `--plugin "plugins.filter.Domains:skip=1,domains=tumblr.com wordpress.com"` (note the quotes! we need them because the plugin argument includes a space). + - [plugins.hyperlinks.MostExternallyLinkedPages](https://github.com/commonsearch/cosr-back/blob/master/plugins/hyperlinks.py): outputs a list of pages on a specific domain that have the most backlinks in the document sources we are processing. Let's configure it like this: `--plugin plugins.hyperlinks.MostExternallyLinkedPages:domain=wikipedia.org,path=out/top_wikipedia/`. Finally, let's add another useful option to our job: `--stop_delay 600`. This will prevent Spark from exiting for 10 minutes when your job is done, so that we have time to open the Spark Web UI and see what happened! @@ -69,7 +72,7 @@ Spark has a very convenient Web UI that lets you debug the jobs that are running
Spark Web UI
The Spark Web UI
-Once all the jobs are done and you have finished exploring the Spark UI, go back to the console and send a `Ctrl-C` to the command to interrupt the `stop_delay`. +Once all the jobs are done and you have finished exploring the Spark UI, go back to the console and send a `Ctrl-c` to the command to interrupt the `stop_delay`. Now you can open the file `out/top_wikipedia/part-*.txt` that should have been created and make sure it is what you want! @@ -86,9 +89,13 @@ There is a file in the [cosr-ops repository](https://github.com/commonsearch/cos We should now choose an instance type and a number of machines in our cluster. Our pipeline is usually CPU-bound, so the most important metric will be the number of cores. The [C4 instance family](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/c4-instances.html) has the best CPU performance/cost ratio, and it usually takes around 15 minutes for a C4 core to index a full Common Crawl segment. -For this example, this means that if we want to process the whole Common Crawl, we will need (15/60) * 30000 = 7500 CPU hours. If we want to run it in 24 hours, we will need 9 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in EC2 limits to be able to launch tens of them at once. +For this example, this means that if we want to process the whole Common Crawl, we will need (15/60) * 30000 = 7500 CPU hours. If we want to run it in 24 hours, we will need 9 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in [EC2 limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to be able to launch tens of them at once. + +Once you have the configuration of your cluster filled in your `flintrock.yaml` file, you are ready to launch the cluster! Open a console in the [cosr-ops repository](https://github.com/commonsearch/cosr-ops) and just like the previous step, do this to enter the container: -Once you have the configuration of your cluster filled in your `flintrock.yaml` file, you are ready to launch the cluster! Open a console in the `cosr-ops` repository and just like the previous step, do `make docker_shell` to enter the container. +``` +make docker_shell +``` Once in the container, you should configure your AWS credentials, doing something like this: @@ -103,7 +110,7 @@ Then, let's create the cluster: make aws_spark_flintrock_create ``` -If this command is successfuly, it will ultimately log you in the Spark master server. +If this command is successful, it will ultimately log you in the Spark master server. The Web UI should also have been launched. Open it at http://[spark_master_hostname]:8080 @@ -112,13 +119,13 @@ The Web UI should also have been launched. Open it at http://[spark_master_hostn You have now a shell in the Spark master. This is very similar to step 3 except now you have much more CPUs at your fingertips and you are paying for each hour that the cluster spends online. So let's not waste any time! -First, let's open a `screen` in the server, so that we don't loose anything if you are temporarily disconnected from the Internet. +First, let's open a [screen](https://kb.iu.edu/d/acuy) in the server, so that we don't loose anything if you are temporarily disconnected from the Internet. ``` screen -S sparkjob ``` -You can exit this screen with `Ctrl-A D` and go back into it with `screen -x sparkjob`. +You can exit this screen with the `Ctrl-a d` keys and go back into it with `screen -x sparkjob`. Now let's assemble a new `spark-submit` command like we did in step 3! @@ -139,5 +146,5 @@ Once the pipeline is finished... congratulations! You just ran some code on bill There are a few things you may want to try after this: - - Try our other plugins and document sources... or create your own! + - Try our other [plugins](https://github.com/commonsearch/cosr-back/tree/master/plugins) and [document sources](https://github.com/commonsearch/cosr-back/tree/master/cosrlib/sources)... or create your own! - Index the documents into Elasticsearch, like Common Search does. From c35f519073e52256cd28b2d2ed1511118dfe763b Mon Sep 17 00:00:00 2001 From: Sylvain Zimmer Date: Fri, 12 Aug 2016 15:43:58 +0200 Subject: [PATCH 10/18] UI fixes --- .../analyzing-the-web-with-spark-on-ec2.md | 6 +++--- theme/static/css/style.css | 19 +++++++++++++++++++ theme/templates/base.html | 2 +- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md index 37ec8e3..cc67794 100644 --- a/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md +++ b/content/pages/developer/tutorials/analyzing-the-web-with-spark-on-ec2.md @@ -79,7 +79,7 @@ Now you can open the file `out/top_wikipedia/part-*.txt` that should have been c ## 4. Create a Spark cluster on EC2 -Now, Common Crawl typically has 30,000+ segments of 50,000+ documents each so processing each document on your local machine will take a while. Let's move to the cloud! +Common Crawl typically has 30,000+ segments of 50,000+ documents each so processing each document on your local machine will take a while. Let's move to the cloud! We are going to deploy a Spark cluster on a fleet of [Spot Instances on EC2](https://aws.amazon.com/ec2/spot/). Spot Instances are ideal for this kind of data processing: they cost much less than regular instances and if they are killed during our job, we can just run it again! @@ -89,7 +89,7 @@ There is a file in the [cosr-ops repository](https://github.com/commonsearch/cos We should now choose an instance type and a number of machines in our cluster. Our pipeline is usually CPU-bound, so the most important metric will be the number of cores. The [C4 instance family](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/c4-instances.html) has the best CPU performance/cost ratio, and it usually takes around 15 minutes for a C4 core to index a full Common Crawl segment. -For this example, this means that if we want to process the whole Common Crawl, we will need (15/60) * 30000 = 7500 CPU hours. If we want to run it in 24 hours, we will need 9 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in [EC2 limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to be able to launch tens of them at once. +So for this example, if we want to process the whole Common Crawl, we will need (15/60) * 30000 = 7500 CPU hours. If we want to run it in 24 hours, we will need 9 `c4.8xlarge` instances with 36 CPUs each. You could also do it in just a couple hours with more instances, but you might need to ask for a raise in [EC2 limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to be able to launch tens of them at once. Once you have the configuration of your cluster filled in your `flintrock.yaml` file, you are ready to launch the cluster! Open a console in the [cosr-ops repository](https://github.com/commonsearch/cosr-ops) and just like the previous step, do this to enter the container: @@ -147,4 +147,4 @@ Once the pipeline is finished... congratulations! You just ran some code on bill There are a few things you may want to try after this: - Try our other [plugins](https://github.com/commonsearch/cosr-back/tree/master/plugins) and [document sources](https://github.com/commonsearch/cosr-back/tree/master/cosrlib/sources)... or create your own! - - Index the documents into Elasticsearch, like Common Search does. + - Index the documents into Elasticsearch! Stay tuned for a tutorial on this topic... diff --git a/theme/static/css/style.css b/theme/static/css/style.css index e8c7fb6..17db61b 100644 --- a/theme/static/css/style.css +++ b/theme/static/css/style.css @@ -103,6 +103,18 @@ a, a:hover { margin:10px; } +.banner-height-75 h1 { + line-height:75px; + margin:0; + padding:0; +} + +.banner-height-75 a { + display:inline-block; + line-height:35px; +} + + body.with-banner section.body { padding-top:20px; } @@ -245,3 +257,10 @@ body.with-banner section.body { padding-right:5px; } } + +@media (max-width: 1199px) { + + .banner-height-75 h1 { + font-size:32px; + } +} diff --git a/theme/templates/base.html b/theme/templates/base.html index 0582a55..d59c17d 100644 --- a/theme/templates/base.html +++ b/theme/templates/base.html @@ -86,7 +86,7 @@ {% endif %} } -