如何使用Python防止h2o集群在没有通知的情况下关闭

问题描述 投票:0回答:1

我的代码加载 h2o MOJO 模型以对小数据集进行预测。然而,h2o 突然自行关闭。相同的代码在具有相同输入集的一台机器上运行良好,但在另一台机器上看到水异常关闭。

self.test = h2o.import_file(dataset_file)
preds = imported_model.predict(self.test)

我在 72 核 1TB 机器上运行它。我不敢相信这是内存问题。最令人困惑的事实是,相同的代码在具有相同输入(配置不同)的其他机器上运行。我不知道差异的完整列表。我之前使用 python freeze 二进制构建运行,但看不到详细的错误消息。我直接运行 python 代码,可以更详细地看到错误消息。

 File "h2o_model_eval.py", line 160, in ModelEval
    preds = imported_model.predict(self.test)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv/lib/python3.11/site-packages/h2o/model/model_base.py", line 334, in predict
    j.poll()
  File ".venv/lib/python3.11/site-packages/h2o/job.py", line 71, in poll
    pb.execute(self._refresh_job_status)
  File ".venv/lib/python3.11/site-packages/h2o/utils/progressbar.py", line 187, in execute
    res = progress_fn()  # may raise StopIteration
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv/lib/python3.11/site-packages/h2o/job.py", line 136, in _refresh_job_status
    jobs = self._query_job_status_safe()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv/lib/python3.11/site-packages/h2o/job.py", line 132, in _query_job_status_safe
    raise last_err
  File ".venv/lib/python3.11/site-packages/h2o/job.py", line 114, in _query_job_status_safe
    result = h2o.api("GET /3/Jobs/%s" % self.job_key)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv/lib/python3.11/site-packages/h2o/h2o.py", line 123, in api
    return h2oconn.request(endpoint, data=data, json=json, filename=filename, save_to=save_to)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv/lib/python3.11/site-packages/h2o/backend/connection.py", line 507, in request
    raise H2OConnectionError("Unexpected HTTP error: %s" % e)
h2o.exceptions.H2OConnectionError: Unexpected HTTP error: HTTPConnectionPool(host='localhost', port=54321): Max retries exceeded with url: /3/Jobs/$03017f00000132d4ffffffff$_acab67512114e05db6ec9865ea9849d3 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x2aab3f59ea90>: Failed to establish a new connection: [Errno 111] Connection refused'))
~                                                                               

如何调试这个问题?

python h2o h2o.ai
1个回答
0
投票

如果没有更多日志,我看不到问题所在。然而,我却经常遇到以下问题:

我启动了一个 H2O-3 集群并开始做我的工作。然后,我启动了另一个 H2O-3 集群。我的第一个集群最终关闭,因为这两个集群尝试形成 H2O-3 云(它们具有相同的默认名称),而我的 H2O-3 版本不完全相同,或者哈希值或其他内容不匹配。

解决此问题的方法是使用不同的名称启动每个 h2o-3 集群,如下所示:

java -jar h2o.jar -名称“cluster007”

我希望这能解决您的问题。如果没有,请给我更多日志或代码来重现错误。

© www.soinside.com 2019 - 2024. All rights reserved.