【问题标题】:Ray Get Head Node Redis AddressRay获取头节点Redis地址
【发布时间】:2019-09-16 12:25:25
【问题描述】:

我想在具有多个节点的集群上运行 ray。我只能向集群提交非交互式作业,所以我不确定如何在作业运行时以编程方式获取 redis 地址。

我相当确定在多个节点上启动 ray 的方式是这样的:

ray start --head

for host in $(srun hostname | grep -v $(hostname)); do
    ssh $host ray start --redis-address=$redis_address
done

但是我需要知道头节点的redis地址。当您启动头节点时,它会打印:

Started Ray on this node. You can add additional nodes to the cluster by calling

    ray start --redis-address 8.8.8.8:59465

from the node you wish to add. You can connect a driver to the cluster from Python by running

    import ray
    ray.init(redis_address="8.8.8.8:59465")

If you have trouble connecting from a different machine, check that your firewall is configured properly. If you wish to terminate the processes that have been started, run

我正计划在redis_address.txt 中捕获像ray start --head &> tee redis_port.txt 这样的输出,然后在redis_address.txt 中捕获greping 以查找redis 地址,但似乎输出的那部分没有在redis_address.txt 中捕获,我查看了ray 会话创建的 temp 目录中的所有 .out.err 文件,但它们都没有。

必须有一些更好的方法来做到这一点。查找头节点的redis端口的预期方法是什么?

【问题讨论】:

  • redis地址分为两部分。首先是头节点的 IP 地址,您可能已经以编程方式获得了该地址。第二个是Redis端口,可以使用ray start --head --redis-port=6379设置。这样,您将知道端口是什么,而不必捕获输出。
  • 有没有可能端口不开放?我知道我可以指定redis-port,但我担心它会因为正在使用的端口而崩溃。每次选择一个常量端口似乎比让ray 选择更容易出错。
  • 任何特定端口都可能正在使用中。您可以选择一个大而晦涩的端口号来降低这种可能性。这是否是一个好主意取决于设置。例如,如果其他人在同一节点上运行应用程序,或者只有你自己。
  • 由于我将是节点上的唯一用户,我认为这应该没问题,但我想在另一种情况下,您可以继续生成端口,直到找到未使用的端口。谢谢

标签: ray


【解决方案1】:

感谢罗伯特的帮助so I'm going to post the code that I used based on his advice.在cmets中解决了

似乎最好的方法就是选择一个常量端口。唯一的潜在问题是同一台机器上的另一个用户/进程是否正在使用相同的端口。在这种情况下,您可能希望尝试生成端口,直到找到未使用的端口。

我建议使用ray start 命令将每个节点所需的任何设置放入脚本中

redis_address="$(hostname --ip-address)"
redis_address="$redis_address:59465"

ray start --head --redis-port=59465

for host in $(srun hostname | grep -v $(hostname)); do
    ssh $host ./setup_node.sh $redis_address
done

setup_node.sh 在哪里

# any required setup
# ...

ray start --redis-address=$1

您需要一些东西来获取 IP 地址列表,例如我在上面使用的srun hostname

【讨论】:

    猜你喜欢
    • 2022-01-23
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2014-03-20
    • 2017-05-12
    • 2017-07-02
    • 2019-10-26
    相关资源
    最近更新 更多