在生产环境中使用PredictionIO

5
我已经在本地安装了PredictionIO,并使用了我修改后的通用推荐模板进行了引擎训练,一切看起来都很好。
现在我知道这可以满足我的需求,我希望将其部署到生产环境中,但不幸的是,关于此方面的文档并不多。
理想情况下,我希望将所有内容都部署在AWS上,文档中有一部分描述了这一点,但由于CloudFormation模板被禁用,所以这部分文档是无用的。
我想也许可以使用Docker来实现它,但我对整个技术栈缺乏了解,希望能够理解以下内容:
  • 数据应该存储在哪里? hbase 似乎是“数据库”,将其与其他部分(事件服务器、预测服务器)放在同一台服务器上是否危险?

  • 如何进行扩展? 我是否需要在负载均衡器后面运行多个PredictionIO实例,还是一个实例就足够了?如果需要多个实例,如何实现?

  • 什么是良好的分布式架构? 为了扩展,我非常确定需要将事件服务器与预测服务器分开,如何做到这一点?

希望有人能帮忙解答。谢谢。 Cyril
1个回答

3
  1. 数据应该存储在哪里?

根据PredictionIO网站:

如果您决定将HBase安装到另一个位置,则必须编辑PredictionIO-0.10.0-incubating/conf/pio-env.sh并更改PIO_STORAGE_SOURCES_HBASE_HOME变量,以指向您自己的HBase安装。

该网页还提到:

对于生产部署,请运行完全分布式的HBase配置。

  1. 它如何扩展?

predition-io google group中有一个很好的答案,他们将扩展分解为不同的部分。

  1. 什么是良好的分布式架构?

为了进行扩展,我非常确定我们需要将EventServer与PredictionServer分开,这样做的好方法是什么?

通常情况下,将摄取层、处理层和服务层分离被认为是良好的实践,但您需要注意不要过度设计。这非常取决于您特定的用例,不要忘记每个分离都会给系统增加更多的复杂性(部署、监控等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接