【问题标题】:H2O in KubernetesKubernetes 中的 H2O
【发布时间】:2017-08-23 21:37:51
【问题描述】:

有人设法在 Kubernetes 中运行 H2O 集群吗?

我尝试了 2 个使用平面文件的选项 1) 使用 StatefulSet,但由于为 pod 生成的 ip 可以更改集群是不可靠的 2) 使用一堆服务/部署对并指定平面文件的 dns 名称服务但集群没有正确启动

以上都不起作用。有什么办法让它工作吗?

【问题讨论】:

标签: kubernetes h2o


【解决方案1】:

如果可以在 Pod 之间传输多播数据包,那么您可以依靠它来形成集群。只需为所有要共享的节点指定一个唯一的 -name。如果可以,这很容易,无需更改代码。

更新 (2018/04/21) -- 我的一位同事说:

我使用 weave 作为网络层,它的作用是为该 kubernetes pod 组提供所有容器之间的连接,然后您不需要在 H2O 中使用平面文件,因为 h2o 将在启动时进行多播,weave 将采用多播并将其发送到 pod 的所有实例。

在 K8s 中运行:kubectl apply --filename https://git.io/weave-kube-1.6


如果多播不是一个选项,那么我知道目前还没有针对 Kubernetes 的开箱即用解决方案。

您需要一个协调器来分发平面文件信息。

在 H2O github 存储库中至少有三个代码示例可以用于其他环境。

  1. ec2 脚本

https://github.com/h2oai/h2o-3/tree/master/ec2

  1. hadoop 驱动程序

https://github.com/h2oai/h2o-3/blob/master/h2o-hadoop/h2o-mapreduce-generic/src/main/java/water/hadoop/h2omapper.java

特别是看看这个类是如何被覆盖的:

https://github.com/h2oai/h2o-3/blob/master/h2o-core/src/main/java/water/init/AbstractEmbeddedH2OConfig.java

  1. 苏打水回购中的苏打水驱动程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-06
    • 2016-12-28
    • 2020-12-17
    • 2017-04-13
    • 2015-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多