在Windows 10上部署Apache PredictionIO開發環境

 Windows在初研究人員的探索下,研究出了一套更爲精簡的環境配置,極大的縮短了開發時間與效率,在此總結以供後來者參閱。html

一、部署環境的配置

Windows10 64 homejava

IntelliJ IDEA 2018.2.1 promysql

java version 1.8.0_172git

PredictionIO 0.12.1(包含衆多依賴包)github

二、準備

首先,你的電腦是必定要有JDK的,而且配好環境變量sql

其次,你須要下載IDEA,最好專業版,功能全一點docker

最後,git一個demo,以供開發測試,運行如下代碼便可apache

$ git clone https://github.com/apache/predictionio-template-attribute-based-classifier.git MyClassification

 三、配置過程

3.1 安裝插件

你安裝好IDEA會有讓你輸入之前的配置,若是沒有就點不輸入就行,接下來你就會看見如下的頁面,點擊Configure~~>Plugins服務器

 

以後就會出現下面的頁面,按照指示操做便可elasticsearch

 

3.2 導入項目 

可能須要一點時間,安裝完插件以後,就能夠打開以前下載的demo,具體操做以下

 

 

 

 

輸入項目完成的頁面,是下面這樣的

 

3.3 添加依賴包

初步的導入項目已經完成,如今須要利用IDEA的SBT安裝PredictionIO以及其依賴包

這裏下載build.sbt文件替換demo文件根目錄裏的同名文件

或者,你也能夠把如下代碼替換原來build.sbt的代碼(此處也可參考所用包的版本)

name := "template-scala-parallel-classification"

scalaVersion := "2.11.8"
libraryDependencies ++= Seq(
"org.apache.predictionio" %% "apache-predictionio-core" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data-jdbc" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data" % "0.12.1",
"mysql" % "mysql-connector-java" % "8.0.12",
"org.postgresql" % "postgresql" % "42.2.4",
"org.apache.predictionio" %% "apache-predictionio-data-hbase" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data-elasticsearch" % "0.12.1" % "provided",
"org.apache.predictionio" %% "apache-predictionio-data-localfs" % "0.12.1" % "provided",
"org.apache.spark" %% "spark-mllib" % "2.1.1" % "provided")

 

以後右下角會彈出SBT的框框,點擊下面頁面的標記處,就能夠靜靜的等待這些包安裝,甚爲方便。這可能會花費一點時間,不影響咱們下面的操做,接着走。

 

 3.4 添加補充文件

這裏下載log4j.properties文件添加到demo文件的根目錄下

 

3.5 配置項目   (window下,僅配置模擬pio train)

這裏要配置的東西頗多,在等待SBT下載包的時候,就能夠開始這步。

 

接下來,會出現這個頁面,較爲清晰,請手打填寫空的框框,勿漏標點符號

 

上面第四個框框,參照這一步,添加環境變量,點擊加號一個一個添加。下面給出文本,複製便可。

 

方便添加,複製粘貼

PIO_STORAGE_REPOSITORIES_METADATA_NAME            pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE       MYSQL
PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME          pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE     MYSQL
PIO_STORAGE_REPOSITORIES_MODELDATA_NAME         pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE    MYSQL
PIO_STORAGE_SOURCES_MYSQL_TYPE                             jdbc
PIO_STORAGE_SOURCES_MYSQL_URL                               jdbc:mysql://localhost/pio?serverTimezone=GMT
PIO_STORAGE_SOURCES_MYSQL_USERNAME                  root
PIO_STORAGE_SOURCES_MYSQL_PASSWORD                  root

 四、測試pio train

通過上面的步驟以後,只要你別弄錯,基本是配置好了,下面就能夠進行開發工做了,點擊上面pio train旁的三角形運行按鈕,等運行完成,無報錯成功,就能夠獲得下面的輸出:[INFO] [CoreWorkflow$] Training completed successfully.  

 

 五、關於Windows下開發的特殊之處

5.1 沒法在終端下直接運行pio,部署服務

因此,只能在IDEA下開發引擎完畢,能夠在服務器或者本機Docker(參照此方法)下部署服務

須要注意的是,若是在本機docker下部署服務,IDEA開發和Docker部署不能是同一個文件夾,要分開,不然出錯

使用docker成功部署

 

 

5.2 IDEA模擬pio deploy出錯

參照官方教程配置模擬pio deploy,而後是這樣嬸的,出錯了,問題很大,直接用docker這種方法部署把。

 

六、參考資料

 Developing Engines with IntelliJ IDEA(不夠仔細的官方教程)

Apache PredictionIO在Docker上的搭建及使用 - 知-青 - 博客園

相關文章
相關標籤/搜索