zoukankan      html  css  js  c++  java
  • 在Windows 10上部署Apache PredictionIO开发环境

     Windows在初研究人员的探索下,研究出了一套更为精简的环境配置,极大的缩短了开发时间与效率,在此总结以供后来者参阅。

    1、部署环境的配置

    Windows10 64 home

    IntelliJ IDEA 2018.2.1 pro

    java version 1.8.0_172

    PredictionIO 0.12.1(包含众多依赖包)

    2、准备

    首先,你的电脑是一定要有JDK的,并且配好环境变量

    其次,你需要下载IDEA,最好专业版,功能全一点

    最后,git一个demo,以供开发测试,运行以下代码即可

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

     3、配置过程

    3.1 安装插件

    你安装好IDEA会有让你输入以前的配置,如果没有就点不输入就行,接下来你就会看见以下的页面,点击Configure~~>Plugins

    之后就会出现下面的页面,按照指示操作即可

    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

     4、测试pio train

    经过上面的步骤之后,只要你别弄错,基本是配置好了,下面就可以进行开发工作了,点击上面pio train旁的三角形运行按钮,等运行完成,无报错成功,就可以得到下面的输出:[INFO] [CoreWorkflow$] Training completed successfully.  

     5、关于Windows下开发的特殊之处

    5.1 无法在终端下直接运行pio,部署服务

    所以,只能在IDEA下开发引擎完毕,可以在服务器或者本机Docker(参照此方法)下部署服务

    需要注意的是,如果在本机docker下部署服务,IDEA开发和Docker部署不能是同一个文件夹,要分开,否则出错

    使用docker成功部署

    5.2 IDEA模拟pio deploy出错

    参照官方教程配置模拟pio deploy,然后是这样婶的,出错了,问题很大,直接用docker这种方法部署把。

    6、参考资料

     Developing Engines with IntelliJ IDEA(不够仔细的官方教程)

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

  • 相关阅读:
    Spark Streaming(一)
    ACID
    SparkSQL
    scala样例类
    centos7 防火墙有关命令
    HBase优化
    scp
    HBase与Hive
    HBase与MapReduce交互
    Hadoop安全模式
  • 原文地址:https://www.cnblogs.com/Yuanjing-Liu/p/9549420.html
Copyright © 2011-2022 走看看