http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/9d2bd407/install/install-sourcecode/index.html
----------------------------------------------------------------------
diff --git a/install/install-sourcecode/index.html
b/install/install-sourcecode/index.html
index 4dcf43f..633c6b3 100644
--- a/install/install-sourcecode/index.html
+++ b/install/install-sourcecode/index.html
@@ -1,6 +1,9 @@
-<!DOCTYPE html><html><head><title>Installing Apache PredictionIO® from Source
Code</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1"
http-equiv="X-UA-Compatible"/><meta name="viewport"
content="width=device-width, initial-scale=1.0"/><meta class="swiftype"
name="title" data-type="string" content="Installing Apache PredictionIO® from
Source Code"/><link rel="canonical"
href="https://predictionio.apache.org/install/install-sourcecode/"/><link
href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link
href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link
href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
rel="stylesheet"/><link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css"
rel="stylesheet" type="text/css"/><script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shi
v.min.js"></script><script
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script
src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async:
true });}catch(e){}</script></head><body><div id="global"><header><div
class="container" id="header-wrapper"><div class="row"><div
class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a
href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache
PredictionIO" id="logo"
src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div
id="menu-wrapper"><div id="pill-wrapper"><a class="pill left"
href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right"
href="//github.com/apache/incubator-predictionio/">OPEN
SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md
hidden-lg"
src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div
id="search-bar-row-wrapper"><div class="container-fluid" id="search-bar-row">
<div class="row"><div class="col-md-9 col-sm-11 col-xs-11"><div
class="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO
Docs</p><h4>Installing Apache PredictionIO® from Source Code</h4></div><h4
class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3
col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator"
src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3
col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form
class="search-form"><img class="search-box-toggler hidden-xs hidden-sm"
src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img
src="/images/icons/search-glass-704bd4ff.png"/><input type="text"
id="st-search-input" class="st-search-input" placeholder="Search
Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg"
src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div
class="mobile-left-menu-toggler hidden-md hidden-lg"></div></div></div>
</div><div id="page" class="container-fluid"><div class="row"><div
id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li
class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO®
Documentation</span></a><ul><li class="level-2"><a class="final"
href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Getting
Started</span></a><ul><li class="level-2"><a class="final"
href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a
class="final" href="/install/"><span>Installing Apache
PredictionIO</span></a></li><li class="level-2"><a class="final"
href="/start/download/"><span>Downloading an Engine Template</span></a></li><li
class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your
First Engine</span></a></li><li class="level-2"><a class="final"
href="/start/customize/"><span>Customizing the
Engine</span></a></li></ul></li><li class="level-1"><a class="exp
andible" href="#"><span>Integrating with Your App</span></a><ul><li
class="level-2"><a class="final" href="/appintegration/"><span>App Integration
Overview</span></a></li><li class="level-2"><a class="expandible"
href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a
class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/php/"><span>PHP
SDK</span></a></li><li class="level-3"><a class="final"
href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a
class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered
SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li
class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web
Service</span></a></li><li class="level-2"><a class="final"
href="/batchpredict/"><span>Batch
Predictions</span></a></li><li class="level-2"><a class="final"
href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li
class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting
Engine Parameters</span></a></li><li class="level-2"><a class="final"
href="/deploy/enginevariants/"><span>Deploying Multiple Engine
Variants</span></a></li><li class="level-2"><a class="final"
href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Customizing an
Engine</span></a><ul><li class="level-2"><a class="final"
href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a
class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li
class="level-2"><a class="final"
href="/customize/troubleshooting/"><span>Troubleshooting Engine
Development</span></a></li><li class="level-2"><a class="final"
href="/api/current/#package"><span>Engine Scala APIs</span></a></li></u
l></li><li class="level-1"><a class="expandible" href="#"><span>Collecting and
Analyzing Data</span></a><ul><li class="level-2"><a class="final"
href="/datacollection/"><span>Event Server Overview</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/eventapi/"><span>Collecting Data with
REST/SDKs</span></a></li><li class="level-2"><a class="final"
href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/webhooks/"><span>Unifying Multichannel Data with
Webhooks</span></a></li><li class="level-2"><a class="final"
href="/datacollection/channel/"><span>Channel</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/batchimport/"><span>Importing Data in
Batch</span></a></li><li class="level-2"><a class="final"
href="/datacollection/analytics/"><span>Using Analytics
Tools</span></a></li><li class="level-2"><a class="final"
href="/datacollection/plugin/"><span>Event Server Plugi
n</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a
class="final" href="/algorithm/"><span>Built-in Algorithm
Libraries</span></a></li><li class="level-2"><a class="final"
href="/algorithm/switch/"><span>Switching to Another
Algorithm</span></a></li><li class="level-2"><a class="final"
href="/algorithm/multiple/"><span>Combining Multiple
Algorithms</span></a></li><li class="level-2"><a class="final"
href="/algorithm/custom/"><span>Adding Your Own
Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a
class="final" href="/evaluation/"><span>Overview</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/evaluationdashboard/"><span>Evaluation
Dashboard</span></a></li><l
i class="level-2"><a class="final"
href="/evaluation/metricchoose/"><span>Choosing Evaluation
Metrics</span></a></li><li class="level-2"><a class="final"
href="/evaluation/metricbuild/"><span>Building Evaluation
Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>System Architecture</span></a><ul><li class="level-2"><a
class="final" href="/system/"><span>Architecture Overview</span></a></li><li
class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using
Another Data Store</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>PredictionIO® Official
Templates</span></a><ul><li class="level-2"><a class="final"
href="/templates/"><span>Intro</span></a></li><li class="level-2"><a
class="expandible" href="#"><span>Recommendation</span></a><ul><li
class="level-3"><a class="final"
href="/templates/recommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final" href="/templa
tes/recommendation/dase/"><span>DASE</span></a></li><li class="level-3"><a
class="final" href="/templates/recommendation/evaluation/"><span>Evaluation
Explained</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/recommendation/reading-custom-events/"><span>Read Custom
Events</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/customize-data-prep/"><span>Customize Data
Preparator</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/customize-serving/"><span>Customize
Serving</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/training-with-implicit-preference/"><span>Train
with Implicit Preference</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/blacklist-items/"><span>Filter Recommended
Items by Blacklist in Query</span></a></li><li
class="level-3"><a class="final"
href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable
Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a
class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train
with Rate Event</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust
Score</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>Similar Product</span></a><ul><li class="level-3"><a
class="final" hr
ef="/templates/similarproduct/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple
Events and Multiple Algorithms</span></a></li><li class="level-3"><a
class="final"
href="/templates/similarproduct/return-item-properties/"><span>Returns Item
Properties</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate
Event</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events
for Users</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/recommended-user/"><span>Recommend
Users</span></a></li></ul></li><li cla
ss="level-2"><a class="expandible"
href="#"><span>Classification</span></a><ul><li class="level-3"><a
class="final" href="/templates/classification/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/classification/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/add-algorithm/"><span>Use Alternative
Algorithm</span></a></li><li class="level-3"><a class="final"
href="/templates/classification/reading-custom-properties/"><span>Read Custom
Properties</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li
class="level-2"><a class="final"
href="/gallery/template-gallery/"><span>Browse</span></a></li><li
class="level-2"><a class="final"
href="/community/submit-template/"><span>Submit your Engine as a Templa
te</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a
class="final" href="/demo/tapster/"><span>Comics Recommendation
Demo</span></a></li><li class="level-2"><a class="final"
href="/demo/community/"><span>Community Contributed Demo</span></a></li><li
class="level-2"><a class="final" href="/demo/textclassification/"><span>Text
Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li
class="level-2"><a class="final"
href="/community/contribute-code/"><span>Contribute Code</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-documentation/"><span>Contribute
Documentation</span></a></li><li class="level-2"><a class="final"
href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-webhook/"><span>Contri
bute a Webhook</span></a></li><li class="level-2"><a class="final"
href="/community/projects/"><span>Community
Projects</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final"
href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a
class="final" href="/support/"><span>Support</span></a></li></ul></li><li
class="level-1"><a class="expandible"
href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final"
href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a
class="final" href="/resources/release/"><span>Release
Cadence</span></a></li><li class="level-2"><a class="final"
href="/resources/intellij/"><span>Developing Engines with IntelliJ
IDEA</span></a></li><li class="level-2"><a class="final"
href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li
class="level-2"><a class="final" href="/resources/glossary/"><span>Glossary</sp
an></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Apache Software Foundation</span></a><ul><li class="level-2"><a
class="final" href="https://www.apache.org/"><span>Apache
Homepage</span></a></li><li class="level-2"><a class="final"
href="https://www.apache.org/licenses/"><span>License</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div
class="col-md-9 col-sm-12"><div class="content-header hidden-md
hidden-lg"><div id="page-title"><h1>Installing Apache PredictionIO® from
Source Code</h1></div></div><div id="table-of-content-wrapper"><h5>On this
page</h5><aside id="table-of-contents"><ul> <li> <a href="#downloadi
ng-source-code">Downloading Source Code</a> </li> <li> <a
href="#building">Building</a> </li> <li> <a
href="#installing-dependencies">Installing Dependencies</a> </li> </ul>
</aside><hr/><a id="edit-page-link"
href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/install/install-sourcecode.html.md.erb"><img
src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div
class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Installing
Apache PredictionIO® from Source Code</h1></div></div><div class="content">
<div class="alert-message info"><p>Assuming you are following the directory
structure in the following, replace <code>/home/abc</code> with your own home
directory wherever you see it.</p></div><h2 id='downloading-source-code'
class='header-anchors'>Downloading Source Code</h2><p>Download Apache
PredictionIO 0.12.0-incubating from an Apache <a
href="https://www.apache.org/dyn/closer.cgi/incubator/predictionio/0.12.0-incu
bating/apache-predictionio-0.12.0-incubating.tar.gz">mirror</a>. </p><p>Verify
this release using <a
href="https://www.apache.org/dist/incubator/predictionio/0.12.0-incubating/">signatures
and checksums</a> and <a
href="https://www.apache.org/dist/incubator/predictionio/KEYS">project release
KEYS</a>.</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1
+<!DOCTYPE html><html><head><title>Installing Apache PredictionIO® from Source
Code</title><meta charset="utf-8"/><meta content="IE=edge,chrome=1"
http-equiv="X-UA-Compatible"/><meta name="viewport"
content="width=device-width, initial-scale=1.0"/><meta class="swiftype"
name="title" data-type="string" content="Installing Apache PredictionIO® from
Source Code"/><link rel="canonical"
href="https://predictionio.apache.org/install/install-sourcecode/"/><link
href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link
href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link
href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
rel="stylesheet"/><link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css"
rel="stylesheet" type="text/css"/><script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shi
v.min.js"></script><script
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script
src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async:
true });}catch(e){}</script></head><body><div id="global"><header><div
class="container" id="header-wrapper"><div class="row"><div
class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a
href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache
PredictionIO" id="logo"
src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div
id="menu-wrapper"><div id="pill-wrapper"><a class="pill left"
href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right"
href="//github.com/apache/predictionio/">OPEN SOURCE</a></div></div><img
class="mobile-search-bar-toggler hidden-md hidden-lg"
src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div
id="search-bar-row-wrapper"><div class="container-fluid"
id="search-bar-row"><div class
="row"><div class="col-md-9 col-sm-11 col-xs-11"><div class="hidden-md
hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO
Docs</p><h4>Installing Apache PredictionIO® from Source Code</h4></div><h4
class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3
col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator"
src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3
col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form
class="search-form"><img class="search-box-toggler hidden-xs hidden-sm"
src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img
src="/images/icons/search-glass-704bd4ff.png"/><input type="text"
id="st-search-input" class="st-search-input" placeholder="Search
Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg"
src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div
class="mobile-left-menu-toggler hidden-md
hidden-lg"></div></div></div></div><div
id="page" class="container-fluid"><div class="row"><div
id="left-menu-wrapper" class="col-md-3"><nav id="nav-main"><ul><li
class="level-1"><a class="expandible" href="/"><span>Apache PredictionIO®
Documentation</span></a><ul><li class="level-2"><a class="final"
href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Getting
Started</span></a><ul><li class="level-2"><a class="final"
href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a
class="final" href="/install/"><span>Installing Apache
PredictionIO</span></a></li><li class="level-2"><a class="final"
href="/start/download/"><span>Downloading an Engine Template</span></a></li><li
class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your
First Engine</span></a></li><li class="level-2"><a class="final"
href="/start/customize/"><span>Customizing the
Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" h
ref="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a
class="final" href="/appintegration/"><span>App Integration
Overview</span></a></li><li class="level-2"><a class="expandible"
href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a
class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/php/"><span>PHP
SDK</span></a></li><li class="level-3"><a class="final"
href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a
class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered
SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li
class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web
Service</span></a></li><li class="level-2"><a class="final"
href="/batchpredict/"><span>Batch Predictio
ns</span></a></li><li class="level-2"><a class="final"
href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li
class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting
Engine Parameters</span></a></li><li class="level-2"><a class="final"
href="/deploy/enginevariants/"><span>Deploying Multiple Engine
Variants</span></a></li><li class="level-2"><a class="final"
href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Customizing an
Engine</span></a><ul><li class="level-2"><a class="final"
href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a
class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li
class="level-2"><a class="final"
href="/customize/troubleshooting/"><span>Troubleshooting Engine
Development</span></a></li><li class="level-2"><a class="final"
href="/api/current/#package"><span>Engine Scala
APIs</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Collecting and Analyzing
Data</span></a><ul><li class="level-2"><a class="final"
href="/datacollection/"><span>Event Server Overview</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/eventapi/"><span>Collecting Data with
REST/SDKs</span></a></li><li class="level-2"><a class="final"
href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/webhooks/"><span>Unifying Multichannel Data with
Webhooks</span></a></li><li class="level-2"><a class="final"
href="/datacollection/channel/"><span>Channel</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/batchimport/"><span>Importing Data in
Batch</span></a></li><li class="level-2"><a class="final"
href="/datacollection/analytics/"><span>Using Analytics
Tools</span></a></li><li class="level-2"><a class="final"
href="/datacollection/plugin/"><span>Event Server Plugin</span></
a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a
class="final" href="/algorithm/"><span>Built-in Algorithm
Libraries</span></a></li><li class="level-2"><a class="final"
href="/algorithm/switch/"><span>Switching to Another
Algorithm</span></a></li><li class="level-2"><a class="final"
href="/algorithm/multiple/"><span>Combining Multiple
Algorithms</span></a></li><li class="level-2"><a class="final"
href="/algorithm/custom/"><span>Adding Your Own
Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a
class="final" href="/evaluation/"><span>Overview</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/evaluationdashboard/"><span>Evaluation
Dashboard</span></a></li><li class="l
evel-2"><a class="final" href="/evaluation/metricchoose/"><span>Choosing
Evaluation Metrics</span></a></li><li class="level-2"><a class="final"
href="/evaluation/metricbuild/"><span>Building Evaluation
Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>System Architecture</span></a><ul><li class="level-2"><a
class="final" href="/system/"><span>Architecture Overview</span></a></li><li
class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using
Another Data Store</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>PredictionIO® Official
Templates</span></a><ul><li class="level-2"><a class="final"
href="/templates/"><span>Intro</span></a></li><li class="level-2"><a
class="expandible" href="#"><span>Recommendation</span></a><ul><li
class="level-3"><a class="final"
href="/templates/recommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/recomm
endation/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/evaluation/"><span>Evaluation
Explained</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/recommendation/reading-custom-events/"><span>Read Custom
Events</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/customize-data-prep/"><span>Customize Data
Preparator</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/customize-serving/"><span>Customize
Serving</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/training-with-implicit-preference/"><span>Train
with Implicit Preference</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/blacklist-items/"><span>Filter Recommended
Items by Blacklist in Query</span></a></li><li class="lev
el-3"><a class="final"
href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable
Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a
class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train
with Rate Event</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust
Score</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>Similar Product</span></a><ul><li class="level-3"><a
class="final" href="/templ
ates/similarproduct/quickstart/"><span>Quick Start</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple
Events and Multiple Algorithms</span></a></li><li class="level-3"><a
class="final"
href="/templates/similarproduct/return-item-properties/"><span>Returns Item
Properties</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate
Event</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events
for Users</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/recommended-user/"><span>Recommend
Users</span></a></li></ul></li><li class="level-
2"><a class="expandible" href="#"><span>Classification</span></a><ul><li
class="level-3"><a class="final"
href="/templates/classification/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/classification/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/add-algorithm/"><span>Use Alternative
Algorithm</span></a></li><li class="level-3"><a class="final"
href="/templates/classification/reading-custom-properties/"><span>Read Custom
Properties</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li
class="level-2"><a class="final"
href="/gallery/template-gallery/"><span>Browse</span></a></li><li
class="level-2"><a class="final"
href="/community/submit-template/"><span>Submit your Engine as a
Template</span><
/a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a
class="final" href="/demo/tapster/"><span>Comics Recommendation
Demo</span></a></li><li class="level-2"><a class="final"
href="/demo/community/"><span>Community Contributed Demo</span></a></li><li
class="level-2"><a class="final" href="/demo/textclassification/"><span>Text
Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li
class="level-2"><a class="final"
href="/community/contribute-code/"><span>Contribute Code</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-documentation/"><span>Contribute
Documentation</span></a></li><li class="level-2"><a class="final"
href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-webhook/"><span>Contribute a Web
hook</span></a></li><li class="level-2"><a class="final"
href="/community/projects/"><span>Community
Projects</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final"
href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a
class="final" href="/support/"><span>Support</span></a></li></ul></li><li
class="level-1"><a class="expandible"
href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final"
href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a
class="final" href="/resources/release/"><span>Release
Cadence</span></a></li><li class="level-2"><a class="final"
href="/resources/intellij/"><span>Developing Engines with IntelliJ
IDEA</span></a></li><li class="level-2"><a class="final"
href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li
class="level-2"><a class="final"
href="/resources/glossary/"><span>Glossary</span></a></l
i></ul></li><li class="level-1"><a class="expandible" href="#"><span>Apache
Software Foundation</span></a><ul><li class="level-2"><a class="final"
href="https://www.apache.org/"><span>Apache Homepage</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/licenses/"><span>License</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div
class="col-md-9 col-sm-12"><div class="content-header hidden-md
hidden-lg"><div id="page-title"><h1>Installing Apache PredictionIO® from
Source Code</h1></div></div><div id="table-of-content-wrapper"><h5>On this
page</h5><aside id="table-of-contents"><ul> <li> <a href="#downloading-binary-
distribution">Downloading Binary Distribution</a> </li> <li> <a
href="#downloading-source-code">Downloading Source Code</a> </li> <li> <a
href="#building">Building</a> </li> <li> <a
href="#installing-dependencies">Installing Dependencies</a> </li> </ul>
</aside><hr/><a id="edit-page-link"
href="https://github.com/apache/predictionio/tree/livedoc/docs/manual/source/install/install-sourcecode.html.md.erb"><img
src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div
class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Installing
Apache PredictionIO® from Source Code</h1></div></div><div class="content">
<div class="alert-message info"><p>Assuming you are following the directory
structure in the following, replace <code>/home/abc</code> with your own home
directory wherever you see it.</p></div><h2
id='downloading-binary-distribution' class='header-anchors'>Downloading Binary
Distribution</h2><p>You can use pre-built binary distribution for Apache Pred
ictionIO® if you are building against</p> <ul> <li>Scala 2.11.8</li>
<li>Spark 2.1.1</li> <li>Hadoop 2.7.3</li> <li>Elasticsearch 5.5.2</li> </ul>
<p>Download and extract binary release.</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
+2</pre></td><td class="code"><pre><span class="gp">$ </span>curl -L
https://dist.apache.org/repos/dist/release/predictionio/0.12.1/apache-predictionio-0.12.1-bin.tar.gz
> PredictionIO-0.12.1.tar.gz
+<span class="gp">$ </span>tar zxvf PredictionIO-0.12.1.tar.gz
+</pre></td></tr></tbody></table> </div> <p>Proceed to <a
href="#installing-dependencies">Installing Dependencies</a>.</p><h2
id='downloading-source-code' class='header-anchors'>Downloading Source
Code</h2><p>Download Apache PredictionIO 0.12.1 from an Apache <a
href="https://www.apache.org/dyn/closer.cgi/predictionio/0.12.1/apache-predictionio-0.12.1.tar.gz">mirror</a>.
</p><p>Verify this release using <a
href="https://www.apache.org/dist/predictionio/0.12.1/">signatures and
checksums</a> and <a
href="https://www.apache.org/dist/predictionio/KEYS">project release
KEYS</a>.</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1
2</pre></td><td class="code"><pre><span class="gp">$ </span>gpg --import KEYS
-<span class="gp">$ </span>gpg --verify
apache-predictionio-0.12.0-incubating.tar.gz.asc
apache-predictionio-0.12.0-incubating.tar.gz
+<span class="gp">$ </span>gpg --verify apache-predictionio-0.12.1.tar.gz.asc
apache-predictionio-0.12.1.tar.gz
</pre></td></tr></tbody></table> </div> <p>You should see something like
this.</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1
2
3</pre></td><td class="code"><pre>gpg: Signature made Tue Sep 26 22:55:22 2017
PDT
@@ -8,39 +11,39 @@ gpg: using RSA key 7E2363D84719A8F4
gpg: Good signature from <span class="s2">"Chan Lee
<[email protected]>"</span> <span class="o">[</span>ultimate]
</pre></td></tr></tbody></table> </div> <h2 id='building'
class='header-anchors'>Building</h2><p>Run the following at the directory where
you downloaded the source code to build Apache PredictionIO®. By default, the
build will be against</p> <ul> <li>Scala 2.11.8</li> <li>Spark 2.1.1</li>
<li>Hadoop 2.7.3</li> <li>Elasticsearch 5.5.2</li> </ul> <div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1
2
-3</pre></td><td class="code"><pre><span class="gp">$ </span>tar zxvf
apache-predictionio-0.12.0-incubating.tar.gz
-<span class="gp">$ </span><span class="nb">cd
</span>apache-predictionio-0.12.0-incubating
+3</pre></td><td class="code"><pre><span class="gp">$ </span>tar zxvf
apache-predictionio-0.12.1.tar.gz
+<span class="gp">$ </span><span class="nb">cd </span>apache-predictionio-0.12.1
<span class="gp">$ </span>./make-distribution.sh
</pre></td></tr></tbody></table> </div> <p>You should see something like the
following when it finishes building successfully.</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1
2
3
4
5</pre></td><td class="code"><pre>...
-PredictionIO-0.12.0-incubating/sbt/sbt
-PredictionIO-0.12.0-incubating/conf/
-PredictionIO-0.12.0-incubating/conf/pio-env.sh
-PredictionIO binary distribution created at
PredictionIO-0.12.0-incubating.tar.gz
-</pre></td></tr></tbody></table> </div> <p>Extract the binary distribution you
have just built.</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1</pre></td><td class="code"><pre><span class="gp">$ </span>tar
zxvf PredictionIO-0.12.0-incubating.tar.gz
+PredictionIO-0.12.1/sbt/sbt
+PredictionIO-0.12.1/conf/
+PredictionIO-0.12.1/conf/pio-env.sh
+PredictionIO binary distribution created at PredictionIO-0.12.1.tar.gz
+</pre></td></tr></tbody></table> </div> <p>Extract the binary distribution you
have just built.</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1</pre></td><td class="code"><pre><span class="gp">$ </span>tar
zxvf PredictionIO-0.12.1.tar.gz
</pre></td></tr></tbody></table> </div> <h3
id='building-against-different-versions-of-dependencies'
class='header-anchors'>Building against Different Versions of
Dependencies</h3><p>Starting from version 0.11.0, PredictionIO can be built
against different versions of dependencies. As of writing, one could build
PredictionIO against these different dependencies:</p> <ul> <li>Scala 2.10.x,
2.11.x</li> <li>Spark 1.6.x, 2.0.x, 2.1.x</li> <li>Hadoop 2.4.x to 2.7.x</li>
<li>Elasticsearch 1.7.x, 5.x</li> </ul> <p>As an example, if you want to build
PredictionIO to support Scala 2.11.8, Spark 2.1.0, and Elasticsearch 5.3.0, you
can do</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1</pre></td><td class="code"><pre><span class="gp">$
</span>./make-distribution.sh -Dscala.version<span class="o">=</span>2.11.8
-Dspark.version<span class="o">=</span>2.1.0 -Delasticsearch.version<span
class="o">=</s
pan>5.3.0
-</pre></td></tr></tbody></table> </div> <h2 id='installing-dependencies'
class='header-anchors'>Installing Dependencies</h2><p>Let us install
dependencies inside a subdirectory of the Apache PredictionIO (incubating)
installation. By following this convention, you can use Apache
PredictionIO's default configuration as is.</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>mkdir
PredictionIO-0.12.0-incubating/vendors
+</pre></td></tr></tbody></table> </div> <h2 id='installing-dependencies'
class='header-anchors'>Installing Dependencies</h2><p>Let us install
dependencies inside a subdirectory of the Apache PredictionIO installation. By
following this convention, you can use Apache PredictionIO's default
configuration as is.</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1</pre></td><td class="code"><pre><span class="gp">$
</span>mkdir PredictionIO-0.12.1/vendors
</pre></td></tr></tbody></table> </div> <h3 id='spark-setup'
class='header-anchors'>Spark Setup</h3> <p><a
href="http://spark.apache.org">Apache Spark</a> is the default processing
engine for PredictionIO. Download and extract it.</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1
2</pre></td><td class="code"><pre><span class="gp">$ </span>wget
http://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.6.tgz
-<span class="gp">$ </span>tar zxvfC spark-2.1.1-bin-hadoop2.6.tgz
PredictionIO-0.12.0-incubating/vendors
-</pre></td></tr></tbody></table> </div> <div class="alert-message info"><p>If
you decide to install Apache Spark to another location, you must edit
<code>PredictionIO-0.12.0-incubating/conf/pio-env.sh</code> and change the
<code>SPARK_HOME</code> variable to point to your own Apache Spark
installation.</p></div><h3 id='storage-setup' class='header-anchors'>Storage
Setup</h3><h4 id='<a-name="pgsql"></a>postgresql-setup' class='header-anchors'
><a name="pgsql"></a>PostgreSQL Setup</h4><div class="alert-message
warning"><p>You may skip this section if you are not using
PostgreSQL.</p></div> <p><a href="https://www.postgresql.org/">PostgreSQL</a>
can be used by PredictionIO as a storage backend for all 3 repositories (event
data, meta data, and model data). This is perhaps the easiest route if you are
trying PredictionIO for the first time.</p><p>Make sure you have PostgreSQL
installed. For Mac Users, <a href="https://brew.sh/">Homebrew</a> is
recommended and can be used as</p><div clas
s="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>brew install postgresql
+<span class="gp">$ </span>tar zxvfC spark-2.1.1-bin-hadoop2.6.tgz
PredictionIO-0.12.1/vendors
+</pre></td></tr></tbody></table> </div> <div class="alert-message info"><p>If
you decide to install Apache Spark to another location, you must edit
<code>PredictionIO-0.12.1/conf/pio-env.sh</code> and change the
<code>SPARK_HOME</code> variable to point to your own Apache Spark
installation.</p></div><h3 id='storage-setup' class='header-anchors'>Storage
Setup</h3><h4 id='<a-name="pgsql"></a>postgresql-setup' class='header-anchors'
><a name="pgsql"></a>PostgreSQL Setup</h4><div class="alert-message
warning"><p>You may skip this section if you are not using
PostgreSQL.</p></div> <p><a href="https://www.postgresql.org/">PostgreSQL</a>
can be used by PredictionIO as a storage backend for all 3 repositories (event
data, meta data, and model data). This is perhaps the easiest route if you are
trying PredictionIO for the first time.</p><p>Make sure you have PostgreSQL
installed. For Mac Users, <a href="https://brew.sh/">Homebrew</a> is
recommended and can be used as</p><div class="highligh
t shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>brew install postgresql
</pre></td></tr></tbody></table> </div> <p>or on Ubuntu:</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>apt-get install postgresql
</pre></td></tr></tbody></table> </div> <p>Now that PostgreSQL is installed
use the following comands</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1</pre></td><td class="code"><pre><span class="gp">$
</span>createdb pio
</pre></td></tr></tbody></table> </div> <p>If you get an error of the form
<code>could not connect to server: No such file or directory</code>, then you
must first start the server manually,:</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1</pre></td><td class="code"><pre><span class="gp">$
</span>pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log
start
</pre></td></tr></tbody></table> </div> <p>Finally use the command:</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>psql -c <span class="s2">"create
user pio with password 'pio'"</span>
</pre></td></tr></tbody></table> </div> <p>Starting from 0.11.0, PredictionIO
no longer bundles JDBC drivers. Download the PostgreSQL JDBC driver from the <a
href="https://jdbc.postgresql.org/">official web site</a>, and put the JAR file
in the <code>lib</code> subdirectory. By default, <code>conf/pio-env.sh</code>
assumes version 42.0.0 JDBC 4.2. If you use a different version, modify
<code>POSTGRES_JDBC_DRIVER</code> to point to the correct JAR.</p><h4
id='hbase-and-elasticsearch-setup' class='header-anchors'>HBase and
Elasticsearch Setup</h4><h5 id='elasticsearch-setup'
class='header-anchors'>Elasticsearch Setup</h5><div class="alert-message
warning"><p>You may skip this section if you are not using
Elasticsearch.</p></div> <p><a href="https://www.elastic.co/">Elasticsearch</a>
can be used as a storage backend for the meta data repository.</p><div
class="alert-message info"><p>Starting from 0.11.0, if you build PredictionIO
against Elasticsearch 5+, you may also use it as a backe
nd for the event data repository.</p></div><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
2</pre></td><td class="code"><pre><span class="gp">$ </span>wget
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz
-<span class="gp">$ </span>tar zxvfC elasticsearch-5.5.2.tar.gz
PredictionIO-0.12.0-incubating/vendors
-</pre></td></tr></tbody></table> </div> <div class="alert-message info"><p>If
you decide to install Elasticsearch to another location, you must edit
<code>PredictionIO-0.12.0-incubating/conf/pio-env.sh</code> and change the
<code>PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME</code> variable to point to your
own Elasticsearch installation.</p></div><div class="alert-message info"><p>If
you are using a shared network, change the <code>network.host</code> line in
<code>PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml</code>
to <code>network.host: 127.0.0.1</code> because by default, Elasticsearch
looks for other machines on the network upon setup and you may run into weird
errors if there are other machines that is also running
Elasticsearch.</p></div><p>If you are not using the default setting at
<code>localhost</code>, you may change the following in
<code>PredictionIO-0.12.0-incubating/conf/pio-env.sh</code> to fit your
setup.</p><div class="highlight she
ll"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1
+<span class="gp">$ </span>tar zxvfC elasticsearch-5.5.2.tar.gz
PredictionIO-0.12.1/vendors
+</pre></td></tr></tbody></table> </div> <div class="alert-message info"><p>If
you decide to install Elasticsearch to another location, you must edit
<code>PredictionIO-0.12.1/conf/pio-env.sh</code> and change the
<code>PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME</code> variable to point to your
own Elasticsearch installation.</p></div><div class="alert-message info"><p>If
you are using a shared network, change the <code>network.host</code> line in
<code>PredictionIO-0.12.1/vendors/elasticsearch-5.5.2/config/elasticsearch.yml</code>
to <code>network.host: 127.0.0.1</code> because by default, Elasticsearch
looks for other machines on the network upon setup and you may run into weird
errors if there are other machines that is also running
Elasticsearch.</p></div><p>If you are not using the default setting at
<code>localhost</code>, you may change the following in
<code>PredictionIO-0.12.1/conf/pio-env.sh</code> to fit your setup.</p><div
class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1
2
3</pre></td><td class="code"><pre><span
class="nv">PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE</span><span
class="o">=</span>elasticsearch
<span class="nv">PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS</span><span
class="o">=</span>localhost
<span class="nv">PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS</span><span
class="o">=</span>9300
-</pre></td></tr></tbody></table> </div> <h5
id='<a-name="hbase"></a>hbase-setup' class='header-anchors' ><a
name="hbase"></a>HBase Setup</h5><div class="alert-message warning"><p>You may
skip this section if you are not using HBase.</p></div> <p><a
href="http://hbase.apache.org">HBase</a> can be used as the backend of the
event data repository.</p><p>Download HBase from a <a
href="http://www.apache.org/dyn/closer.cgi/hbase/1.2.6/hbase-1.2.6-bin.tar.gz">mirror</a>.
Extract HBase by following the example below.</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>tar zxvfC hbase-1.2.6-bin.tar.gz
PredictionIO-0.12.0-incubating/vendors
-</pre></td></tr></tbody></table> </div> <div class="alert-message info"><p>If
you decide to install HBase to another location, you must edit
<code>PredictionIO-0.12.0-incubating/conf/pio-env.sh</code> and change the
<code>PIO_STORAGE_SOURCES_HBASE_HOME</code> variable to point to your own HBase
installation.</p></div><p>You will need to at least add a minimal configuration
to HBase to start it in standalone mode. Details can be found <a
href="http://hbase.apache.org/book/quickstart.html">here</a>. Here, we are
showing a sample minimal configuration.</p><div class="alert-message
info"><p>For production deployment, run a fully distributed HBase
configuration.</p></div><p>Edit
<code>PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml</code>.</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <h5
id='<a-name="hbase"></a>hbase-setup' class='header-anchors' ><a
name="hbase"></a>HBase Setup</h5><div class="alert-message warning"><p>You may
skip this section if you are not using HBase.</p></div> <p><a
href="http://hbase.apache.org">HBase</a> can be used as the backend of the
event data repository.</p><p>Download HBase from a <a
href="http://www.apache.org/dyn/closer.cgi/hbase/1.2.6/hbase-1.2.6-bin.tar.gz">mirror</a>.
Extract HBase by following the example below.</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="gp">$ </span>tar zxvfC hbase-1.2.6-bin.tar.gz
PredictionIO-0.12.1/vendors
+</pre></td></tr></tbody></table> </div> <div class="alert-message info"><p>If
you decide to install HBase to another location, you must edit
<code>PredictionIO-0.12.1/conf/pio-env.sh</code> and change the
<code>PIO_STORAGE_SOURCES_HBASE_HOME</code> variable to point to your own HBase
installation.</p></div><p>You will need to at least add a minimal configuration
to HBase to start it in standalone mode. Details can be found <a
href="http://hbase.apache.org/book/quickstart.html">here</a>. Here, we are
showing a sample minimal configuration.</p><div class="alert-message
info"><p>For production deployment, run a fully distributed HBase
configuration.</p></div><p>Edit
<code>PredictionIO-0.12.1/vendors/hbase-1.2.6/conf/hbase-site.xml</code>.</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1
2
3
4
@@ -52,26 +55,26 @@ PredictionIO binary distribution created at
PredictionIO-0.12.0-incubating.tar.g
10</pre></td><td class="code"><pre><configuration>
<property>
<name>hbase.rootdir</name>
-
<value>file:///home/abc/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data</value>
+
<value>file:///home/abc/PredictionIO-0.12.1/vendors/hbase-1.2.6/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
-
<value>/home/abc/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper</value>
+
<value>/home/abc/PredictionIO-0.12.1/vendors/hbase-1.2.6/zookeeper</value>
</property>
</configuration>
-</pre></td></tr></tbody></table> </div> <div class="alert-message
info"><p>HBase will create <code>hbase.rootdir</code> automatically to store
its data.</p></div><p>Edit
<code>PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh</code>
to set <code>JAVA_HOME</code> for the cluster. For example:</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="nb">export </span><span
class="nv">JAVA_HOME</span><span
class="o">=</span>/usr/lib/jvm/java-8-oracle/jre
+</pre></td></tr></tbody></table> </div> <div class="alert-message
info"><p>HBase will create <code>hbase.rootdir</code> automatically to store
its data.</p></div><p>Edit
<code>PredictionIO-0.12.1/vendors/hbase-1.2.6/conf/hbase-env.sh</code> to set
<code>JAVA_HOME</code> for the cluster. For example:</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="nb">export </span><span
class="nv">JAVA_HOME</span><span
class="o">=</span>/usr/lib/jvm/java-8-oracle/jre
</pre></td></tr></tbody></table> </div> <p>For Mac users, use this instead
(change <code>1.8</code> to <code>1.7</code> if you have Java 7
installed):</p><div class="highlight shell"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1</pre></td><td class="code"><pre><span class="nb">export
</span><span class="nv">JAVA_HOME</span><span class="o">=</span><span
class="sb">`</span>/usr/libexec/java_home -v 1.8<span class="sb">`</span>
</pre></td></tr></tbody></table> </div> <p>In addition, you must set your
environment variable <code>JAVA_HOME</code>. For example, in
<code>/home/abc/.bashrc</code> add the following line:</p><div class="highlight
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre><span class="nb">export </span><span
class="nv">JAVA_HOME</span><span class="o">=</span>/usr/lib/jvm/java-8-oracle
-</pre></td></tr></tbody></table> </div> <h3
id='start-predictionio-and-dependent-services' class='header-anchors'>Start
PredictionIO and Dependent Services</h3><div class="alert-message
warning"><p>If you are using PostgreSQL or MySQL, skip
<code>pio-start-all</code> and <code>pio-stop-all</code>, and do
<code>PredictionIO-0.12.0-incubating/bin/pio eventserver &</code>
instead.</p></div><p>Simply do
<code>PredictionIO-0.12.0-incubating/bin/pio-start-all</code> and you should
see something similar to the following:</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
+</pre></td></tr></tbody></table> </div> <h3
id='start-predictionio-and-dependent-services' class='header-anchors'>Start
PredictionIO and Dependent Services</h3><div class="alert-message
warning"><p>If you are using PostgreSQL or MySQL, skip
<code>pio-start-all</code> and <code>pio-stop-all</code>, and do
<code>PredictionIO-0.12.1/bin/pio eventserver &</code>
instead.</p></div><p>Simply do
<code>PredictionIO-0.12.1/bin/pio-start-all</code> and you should see something
similar to the following:</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
2
3
4
5
6
-7</pre></td><td class="code"><pre><span class="gp">$
</span>PredictionIO-0.12.0-incubating/bin/pio-start-all
+7</pre></td><td class="code"><pre><span class="gp">$
</span>PredictionIO-0.12.1/bin/pio-start-all
Starting Elasticsearch...
Starting HBase...
-starting master, logging to
/home/abc/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/bin/../logs/hbase-abc-master-yourhost.local.out
+starting master, logging to
/home/abc/PredictionIO-0.12.1/vendors/hbase-1.2.6/bin/../logs/hbase-abc-master-yourhost.local.out
Waiting 10 seconds <span class="k">for </span>HBase to fully initialize...
Starting PredictionIO Event Server...
<span class="err">$</span>
@@ -86,7 +89,7 @@ Starting PredictionIO Event Server...
15256 org.elasticsearch.bootstrap.Elasticsearch
15469 sun.tools.jps.Jps
<span class="err">$</span>
-</pre></td></tr></tbody></table> </div> <p>A running setup will have these up
and running:</p> <ul> <li>org.apache.predictionio.tools.console.Console</li>
<li>org.apache.hadoop.hbase.master.HMaster</li>
<li>org.elasticsearch.bootstrap.Elasticsearch</li> </ul> <p>At any time, you
can run <code>PredictionIO-0.12.0-incubating/bin/pio status</code> to check the
status of the dependencies.</p><p>Now you have installed everything you
need!</p> <p>You can proceed to <a href="/start/download">Choosing an Engine
Template</a>, or continue the QuickStart guide of the Engine template if you
have already chosen one.</p> </div></div></div></div><footer><div
class="container"><div class="seperator"></div><div class="row"><div
class="col-md-6 footer-link-column"><div
class="footer-link-column-row"><h4>Community</h4><ul><li><a
href="//predictionio.apache.org/install/"
target="blank">Download</a></li><li><a href="//predictionio.apache.org/"
target="blank">Docs</a></li><li><a href="//github.com/apache
/incubator-predictionio" target="blank">GitHub</a></li><li><a
href="mailto:[email protected]" target="blank">Subscribe
to User Mailing List</a></li><li><a
href="//stackoverflow.com/questions/tagged/predictionio"
target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6
footer-link-column"><div
class="footer-link-column-row"><h4>Contribute</h4><ul><li><a
href="//predictionio.apache.org/community/contribute-code/"
target="blank">Contribute</a></li><li><a
href="//github.com/apache/incubator-predictionio" target="blank">Source
Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO"
target="blank">Bug Tracker</a></li><li><a
href="mailto:[email protected]" target="blank">Subscribe to
Development Mailing List</a></li></ul></div></div></div><div class="row"><div
class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO,
Apache, the Apache feather logo, and the Apache PredictionIO project logo are
either registe
red trademarks or trademarks of The Apache Software Foundation in the United
States and other countries.</p><p>All other marks mentioned may be trademarks
or registered trademarks of their respective owners.</p></div></div></div><div
id="footer-bottom"><div class="container"><div class="row"><div
class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO"
src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div
id="social-icons-wrapper"><a class="github-button"
href="https://github.com/apache/incubator-predictionio" data-style="mega"
data-count-href="/apache/incubator-predictionio/stargazers"
data-count-api="/repos/apache/incubator-predictionio#stargazers_count"
data-count-aria-label="# stargazers on GitHub" aria-label="Star
apache/incubator-predictionio on GitHub">Star</a> <a class="github-button"
href="https://github.com/apache/incubator-predictionio/fork"
data-icon="octicon-git-branch" data-style="mega"
data-count-href="/apache/incubator-predictionio/net
work" data-count-api="/repos/apache/incubator-predictionio#forks_count"
data-count-aria-label="# forks on GitHub" aria-label="Fork
apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs"
async="" defer="" src="https://buttons.github.io/buttons.js"></script><a
href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO
on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a
href="https://www.facebook.com/predictionio" target="blank"><img
alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a>
</div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
+</pre></td></tr></tbody></table> </div> <p>A running setup will have these up
and running:</p> <ul> <li>org.apache.predictionio.tools.console.Console</li>
<li>org.apache.hadoop.hbase.master.HMaster</li>
<li>org.elasticsearch.bootstrap.Elasticsearch</li> </ul> <p>At any time, you
can run <code>PredictionIO-0.12.1/bin/pio status</code> to check the status of
the dependencies.</p><p>Now you have installed everything you need!</p> <p>You
can proceed to <a href="/start/download">Choosing an Engine Template</a>, or
continue the QuickStart guide of the Engine template if you have already chosen
one.</p> </div></div></div></div><footer><div class="container"><div
class="seperator"></div><div class="row"><div class="col-md-6
footer-link-column"><div
class="footer-link-column-row"><h4>Community</h4><ul><li><a
href="//predictionio.apache.org/install/"
target="blank">Download</a></li><li><a href="//predictionio.apache.org/"
target="blank">Docs</a></li><li><a href="//github.com/apache/prediction
io" target="blank">GitHub</a></li><li><a
href="mailto:[email protected]" target="blank">Subscribe
to User Mailing List</a></li><li><a
href="//stackoverflow.com/questions/tagged/predictionio"
target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6
footer-link-column"><div
class="footer-link-column-row"><h4>Contribute</h4><ul><li><a
href="//predictionio.apache.org/community/contribute-code/"
target="blank">Contribute</a></li><li><a
href="//github.com/apache/predictionio" target="blank">Source
Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO"
target="blank">Bug Tracker</a></li><li><a
href="mailto:[email protected]" target="blank">Subscribe to
Development Mailing List</a></li></ul></div></div></div><div class="row"><div
class="col-md-12 footer-link-column"><p>Apache PredictionIO, PredictionIO,
Apache, the Apache feather logo, and the Apache PredictionIO project logo are
either registered trademarks or trademarks of
The Apache Software Foundation in the United States and other
countries.</p><p>All other marks mentioned may be trademarks or registered
trademarks of their respective owners.</p></div></div></div><div
id="footer-bottom"><div class="container"><div class="row"><div
class="col-md-12"><div id="footer-logo-wrapper"><img alt="PredictionIO"
src="/images/logos/logo-white-d1e9c6e6.png"/><span>®</span></div><div
id="social-icons-wrapper"><a class="github-button"
href="https://github.com/apache/predictionio" data-style="mega"
data-count-href="/apache/predictionio/stargazers"
data-count-api="/repos/apache/predictionio#stargazers_count"
data-count-aria-label="# stargazers on GitHub" aria-label="Star
apache/predictionio on GitHub">Star</a> <a class="github-button"
href="https://github.com/apache/predictionio/fork"
data-icon="octicon-git-branch" data-style="mega"
data-count-href="/apache/predictionio/network"
data-count-api="/repos/apache/predictionio#forks_count"
data-count-aria-label="# fork
s on GitHub" aria-label="Fork apache/predictionio on GitHub">Fork</a> <script
id="github-bjs" async="" defer=""
src="https://buttons.github.io/buttons.js"></script><a
href="https://twitter.com/predictionio" target="blank"><img alt="PredictionIO
on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a
href="https://www.facebook.com/predictionio" target="blank"><img
alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a>
</div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
})(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');