2

我已经建立PredictionIOpio-start-all提交了测试数据,并且也进行了构建和训练。

现在我正在部署它,一切正常,但服务器部署在 https 而不是 http。我正在使用 ubuntu 14.04

日志在这里

[WARN] [Utils] 您的主机名 med-lap-008 解析为环回地址:127.0.1.1;使用 192.168.35.97 代替(在接口 eth0 上)[WARN] [Utils] 如果需要绑定到另一个地址,请设置 SPARK_LOCAL_IP [INFO] [Remoting] 开始远程处理 [INFO] [Remoting] 远程处理已启动;监听地址:[akka.tcp://sparkDriverActorSystem@192.168.35.97:51753] [INFO] [Engine] 使用持久模型 [INFO] [Engine] 为算法 com.myapp.URAlgorithm [INFO] 检测到自定义持久模型 [INFO] URModel$] 创建虚拟空模型 [INFO] [MasterActor] 在 https://192.168.35.97:8001 取消部署任何现有引擎实例[ WARN] [MasterActor] 在 https://192.168.35.97:8001没有任何内容[INFO] [HttpListener] 绑定到 /192.168.35.97:8001 [INFO] [MasterActor] 引擎已部署并正在运行。引擎 API 位于https://192.168.35.97:8001

4

1 回答 1

2

对我来说同样的问题。似乎 https 是硬编码的: https://github.com/PredictionIO/PredictionIO/blob/833f4dd5d598f24a66e13c49a5a6d85a1d40a334/core/src/main/scala/io/prediction/workflow/CreateServer.scala#L296

所以解决方案是使用变量HttpOptions.allowUnsafeSSLhttps://github.com/PredictionIO/PredictionIO/blob/833f4dd5d598f24a66e13c49a5a6d85a1d40a334/core/src/main/scala/io/prediction/workflow/CreateServer.scala#L301 但我没有找到一种覆盖它的方法。

也许非常糟糕的解决方案是更改对服务器的调用:

我将 -k 选项与 https 一起使用:

curl -k -H "Content-Type: application/json" -d '{ "user": "u1", "num": 4}' https://localhost:8000/queries.json

https://groups.google.com/d/msg/predictionio-user/w0ajF_nlFnM/iG4akmeSBgAJ

足够好的选择:安装仍具有 http 服务的 PredictionIO 0.9.5 。

编辑:另一个不错的选择:按照本指南安装 ActionML 版本:https ://github.com/actionml/cluster-setup/blob/master/predictionio-by-actionml.md

于 2016-05-26T14:13:59.203 回答