Python 3.x &引用;错误:未加载密钥";在h2o中,通过K3s集群部署,使用python3客户端

Python 3.x &引用;错误:未加载密钥";在h2o中,通过K3s集群部署,使用python3客户端,python-3.x,h2o,k3s,Python 3.x,H2o,K3s,我可以确认K3s中的3副本h2o集群已正确部署,因为在Python3解释器中执行h2o.init(ip=“x.x.x.x”)的工作符合预期。我按照此处的说明进行操作: 然而,我不得不修改service.yaml并注释掉写着clusterIP:None的行,因为K3s正在抱怨一些与无法将clusterIP设置为None有关的事情。但即使如此,我可以证明它工作正常,并且我能够使用外部IP连接到集群 如果我尝试使用K3s集群内的h2o集群加载数据集,使用与此处描述完全相同的步骤,我得到的输出如下: &

我可以确认K3s中的3副本h2o集群已正确部署,因为在Python3解释器中执行
h2o.init(ip=“x.x.x.x”)
的工作符合预期。我按照此处的说明进行操作:

然而,我不得不修改
service.yaml
并注释掉写着
clusterIP:None
的行,因为K3s正在抱怨一些与无法将clusterIP设置为None有关的事情。但即使如此,我可以证明它工作正常,并且我能够使用外部IP连接到集群

如果我尝试使用K3s集群内的h2o集群加载数据集,使用与此处描述完全相同的步骤,我得到的输出如下:

>>> train = h2o.import_file("https://s3.amazonaws.com/erin-data/higgs/higgs_train_10k.csv")
...
h2o.exceptions.H2OResponseError: Server error java.lang.IllegalArgumentException:
  Error: Key not loaded: Key<Frame> https://s3.amazonaws.com/erin-data/higgs/higgs_train_10k.csv
  Request: POST /3/ParseSetup
    data: {'check_header': '0', 'source_frames': '["https://s3.amazonaws.com/erin-data/higgs/higgs_train_10k.csv"]'}
更新2:

我尝试过使用不同的服务(NodePort、LoadBalancer、ClusterIP),但都不起作用。我还尝试将
Minikube
用于官方图像和我制作的自定义图像,但没有成功。我怀疑这与h2o本身或豆荚之间的聚集有关。我会继续挖掘,让我们想想里面会有金子

更新3:

我还发现关于在Docker中运行H2O的帖子已经过时,也没有在GitHub中使用Dockerfile(我将其更改为取消对ENTRYPOINT部分的注释,但没有成功):

尽管如此,我还是尝试了为h2o-k8s构建的自定义图像,它在纯Docker中无缝工作。我想知道为什么它在K8s中仍然不起作用

更新4:

我尝试修改名为
H2O\u KUBERNETES\u SERVICE\u DNS
的环境变量,但没有成功

与此同时,群集开始不可用,即,
readinessProbe
将无法成功完成。无论我现在改变什么,它都不起作用

我在本地启动了一个K3d集群,看看发生了什么,令人惊讶的是,
readinessProbe
没有失败,使用的是
v3.30.0.6
。但是现在我开始用R而不是Python测试它。我很高兴我尝试了,因为我可能已经查明了问题所在。客户端和服务器之间存在版本不匹配。因此,我相应地将图像更新为
v3.30.0.1


但是现在,我的k3d集群中的
readinessProbe
不起作用,所以我无法测试它。

它现在似乎起作用了。R客户端版本
3.30.0.1
,服务器版本
3.30.0.1
。还尝试了Python版本
3.30.0.7
和服务器版本
3.30.0.7
,并开始工作。了不起的这个问题是由客户端和服务器之间的版本不匹配引起的,因为python客户端被更新为
3.30.0.7
,而docker的最新服务器是
3.30.0.6

,看起来它现在正在工作。R客户端版本
3.30.0.1
,服务器版本
3.30.0.1
。还尝试了Python版本
3.30.0.7
和服务器版本
3.30.0.7
,并开始工作。了不起的问题是由客户端和服务器之间的版本不匹配引起的,因为python客户端更新为
3.30.0.7
,而docker的最新服务器是
3.30.0.6

您是否始终使用匹配的客户端和服务器版本,例如,失败的3.30.0.6与3.30.0.6后端失败?谢谢您,Pavel。这就是问题所在。根据更新了答案您是否始终使用匹配的客户端和服务器版本,例如失败的3.30.0.6与3.30.0.6后端失败?谢谢,Pavel。这就是问题所在。相应地更新了答案
>>> train = h2o.import_file("https://s3.amazonaws.com/erin-data/higgs/higgs_train_10k.csv")
...
h2o.exceptions.H2OResponseError: Server error java.lang.IllegalArgumentException:
  Error: Job is missing
  Request: GET /3/Jobs/$03010a2a016132d4ffffffff$_a2366be93ec99a78d7bc161de8c54d67