3

我已经使用 ElasticSearch 和 HBase 安装了 PredictionIO 0.9.6,然后按照说明在此处使用 UR 模板:https ://templates.prediction.io/PredictionIO/template-scala-parallel-universal-recommendation

当我尝试通过运行导入示例事件时, python examples/import_handmade.py --access_key **my-access-key** 出现此错误:

401 正文:{“消息”:“无效的访问密钥。”}

访问密钥来自pio app list命令...

我还尝试按照其他问题的建议将 UR 模板升级到 0.3.0 版:删除了带有模板的目录并使用 git https://github.com/actionml/template-scala-parallel-universal-recommendation重新安装但是当我运行./examples/integration-test我得到同样的错误。

有这个问题的人吗?

4

4 回答 4

0

我在运行时遇到了同样的问题:

./examples/integration-test

或者

python examples/import_handmade.py --access_key **my-access-key**

在阅读目录pio.log下的内容~/ur时,我发现访问密钥没有保存到数据库(POSTGRES)中。

pio.log 显示SELECT查询失败。因此,我手动将访问密钥和 App id 插入到数据库中。

之后,集成测试成功运行。

于 2017-02-09T15:53:45.627 回答
0

错误原因

当存储在事件服务器上的密钥与您作为参数传递的密钥不同时,通常会发生该错误。

在 PIO 中,默认情况下 PIO eventserver 在 port 上运行7070。因此,如果此端口已被您启动的某个先前的事件服务器或其他一些服务使用,则可能会发生这种情况。

在 Universal-recommender 或您的模板目录中,您可以检查事件服务器日志 ( pio.log or nohup.out)。你会看到像这样的错误

[INFO] [Management$] Creating Event Server at 0.0.0.0:7070
[WARN] [HttpListener] Bind to /0.0.0.0:7070 failed
[ERROR] [TcpListener] Bind failed for TCP channel on endpoint [/0.0.0.0:7070]
[ERROR] [EventServerActor] Command failed.

解决方案

1) 检查端口 7070 是否已被其他服务或先前的事件服务器占用

sudo ss -lptn 'sport = :7070'

结果users:(("java",pid=16659,fd=45))

2)杀死正在使用该端口的服务( 7070 )

kill -9 16659

3)重启eventserver(使用&命令的and在后台运行命令)

nohup pio eventserver

或者

pio eventserver

console您将在ornohub.out文件中看到此输出

[INFO] [Management$] Creating Event Server at 0.0.0.0:7070
[INFO] [HttpListener] Bound to /0.0.0.0:7070
[INFO] [EventServerActor] Bound received. EventServer is ready.
于 2018-09-18T01:51:10.197 回答
0

我使用 docker for predictioIo 并得到相同的错误,我刚刚重新启动它并创建一个新应用程序并重试,现在我可以导入我的数据。

于 2017-12-18T07:03:36.193 回答
0

也有这个。尝试在 hbase_site.xml 中导出 JAVA_HOME 的情况下运行(跳过该步骤),只在您的环境中导出 JAVA_HOME。

于 2017-06-20T19:07:50.767 回答