公司打算做推荐,google半天觉得predictionIO 不错,论坛很活跃,git上星星也比较多。大致配置了一下,安装比较繁琐,

请参考

http://predictionio.incubator.apache.org/install/install-sourcecode/

http://predictionio.incubator.apache.org/templates/recommendation/quickstart/


Apache PredictionIO 0.12.0开始,只支持ES5以上,否则等着报错吧。

另外ES5,HBASE 是必须安装的,当然你也可以使用mysql来替换两者,不过应该没人这么做。

因为ES5不支持root用户启动,建议从开始就创建一个用户,将所有文件的权限都赋予此用户。

如果遇到问题,请检查日志文件,是一个叫pio.log的文件,具体位置在log4j中配置。


如果执行pio status 遇到以下错误

[ERROR] [StorageClient] Cannot connect to ZooKeeper (ZooKeeper ensemble: localhost). Please make sure that the configuration is pointing at the correct ZooKeeper ensemble. By default, HBase manages its own ZooKeeper, so if you have not configured HBase to use an external ZooKeeper, that means your HBase is not started or configured properly.


说明你运行此命令的时间有些早,等30秒再执行。



中途遇到两个错误:

1. build引擎时:No engine found。 解决办法:scala 或者 spark 的版本有问题。要和安装predictionio的保持一致。

2. 训练模型时:Caused by: java.lang.StackOverflowError。解决办法: 算法引擎中 engine.json 文件 中的"numIterations"值调小些。

3. build时 遇到错误:

Return code of build command: /home/es/predictionIO/PredictionIO-0.12.0-incubating/sbt/sbt  package assemblyPackageDependency is 1. Aborting

运行 pio build --clean --verbose 后错误没有再现。


安装例子使用的算法模型,好像是ALS算法,它比较简单,建议使用“The Universal Recommender”算法插件!