Skip to content

leishiao/ray-java-call-python

Repository files navigation

Ray Java Call Python Example

示例代码来自Ray文档:https://docs.ray.io/en/latest/ray-core/cross-language.html?highlight=cross

说明:

​ 使用Java代码通过Ray调用python代码,按照Ray文档https://docs.ray.io/en/latest/ray-core/cross-language.html?highlight=cross 中关于java调用python的步骤执行成功。

​ 文档中的Ray实例是在执行Ray.init();时启动的,但这里想用一个已经存在的Ray实例,因此构建如下测试环境:

​ 宿主机IP1:192.168.66.1

​ 宿主机IP2:192.168.67.1

​ Ray实例运行在宿主机的容器A内,映射多个Ray使用的端口。

​ Java代码运行在在宿主机的容器B内,映射多个Ray使用的端口。

​ 容器B内也需要启动Ray实例,参考docker-compose.yml

​ 在容器B中执行Java程序时指定参数,-Dray.address=192.168.66.1:8179 -Dray.node-ip=192.168.67.1,参考run_cluster.sh

步骤:

  1. 进入docker目录,执行build_ray_image.sh脚本构建ray镜像demo-ray:latest,执行build_dev_image.sh脚本构建Java环境镜像demo-dev:latest
  2. 执行docker-compose up -d 启动Ray实例和Java开发环境
  3. 执行docker exec -it demo_dev bash进入Java环境容器demo-dev
  4. 在Java环境容器,执行cd /root/code进入代码目录,运行test_ray.py测试能否连接并使用Ray实例
  5. 在Java环境容器,执行build.sh脚本编译打包Java代码
  6. 在Java环境容器,执行run_local.sh脚本运行Java程序,run_local.sh脚本没有指定-Dray.address参数
  7. 在Java环境容器,修改run_cluster.sh脚本中HOST_IP_ADDRESS为宿主机IP地址,并执行

About

ray java call python example

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published