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
 &gt; 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 
&lt;[email protected]&gt;"</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&#39;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&#39;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>&lt;configuration&gt;
   &lt;property&gt;
     &lt;name&gt;hbase.rootdir&lt;/name&gt;
-    
&lt;value&gt;file:///home/abc/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data&lt;/value&gt;
+    
&lt;value&gt;file:///home/abc/PredictionIO-0.12.1/vendors/hbase-1.2.6/data&lt;/value&gt;
   &lt;/property&gt;
   &lt;property&gt;
     &lt;name&gt;hbase.zookeeper.property.dataDir&lt;/name&gt;
-    
&lt;value&gt;/home/abc/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper&lt;/value&gt;
+    
&lt;value&gt;/home/abc/PredictionIO-0.12.1/vendors/hbase-1.2.6/zookeeper&lt;/value&gt;
   &lt;/property&gt;
 &lt;/configuration&gt;
-</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 &amp;</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 &amp;</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');

Reply via email to