# An unique identifier for the head node and workers of this cluster. cluster_name: java # The minimum number of workers nodes to launch in addition to the head # node. This number should be >= 0. min_workers: 1 # The maximum number of workers nodes to launch in addition to the head # node. This takes precedence over min_workers. max_workers: 1 # Cloud-provider specific configuration. provider: type: aws region: us-west-2 # Availability zone(s), comma-separated, that nodes may be launched in. # Nodes will be launched in the first listed availability zone and will # be tried in the subsequent availability zones if launching fails. availability_zone: us-west-2a,us-west-2b # How Ray will authenticate with newly launched nodes. auth: ssh_user: ubuntu # Tell the autoscaler the allowed node types and the resources they provide. # The key is the name of the node type, which is just for debugging purposes. # The node config specifies the launch config and physical instance type. available_node_types: ray.head.default: node_config: InstanceType: m4.4xlarge ImageId: ami-06d51e91cea0dac8d # Ubuntu 18.04 # You can provision additional disk space with a conf as follows BlockDeviceMappings: - DeviceName: /dev/sda1 Ebs: VolumeSize: 20 # Additional options in the boto docs. ray.worker.default: node_config: InstanceType: m4.4xlarge ImageId: ami-06d51e91cea0dac8d # Ubuntu 18.04 # Run workers on spot by default. Comment this out to use on-demand. InstanceMarketOptions: MarketType: spot # Additional options can be found in the boto docs, e.g. # SpotOptions: # MaxPrice: MAX_HOURLY_PRICE # List of commands that will be run before `setup_commands`. If docker is # enabled, these commands will run outside the container and before docker # is setup. initialization_commands: - sudo apt-get update - sudo apt-get install -y maven - git clone https://github.com/wuisawesome/ray-word-count.git || (pushd ray-word-count; git pull; popd) - pushd ray-word-count; mvn clean package; popd - cp -rv ray-word-count/files ./ # List of shell commands to run to set up nodes. setup_commands: - sudo apt-get install -y python3 python3-pip - python3 -m pip install --upgrade pip - python3 -m pip install https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-0.9.0.dev0-cp37-cp37m-manylinux2014_x86_64.whl # Custom commands that will be run on the head node after common setup. head_setup_commands: - python3 -m pip install boto3>=1.4.8 # 1.4.8 adds InstanceMarketOptions # Custom commands that will be run on worker nodes after common setup. worker_setup_commands: [] # Command to start ray on the head node. You don't need to change this. head_start_ray_commands: - ray stop - ulimit -n 65536; ray start --head --port=6379 --object-manager-port=8076 --autoscaling-config=~/ray_bootstrap_config.yaml # Command to start ray on worker nodes. You don't need to change this. worker_start_ray_commands: - ray stop - ulimit -n 65536; ray start --address=$RAY_HEAD_IP:6379 --object-manager-port=8076 # To run the program, run `ray exec java.yaml "java -jar ray-word-count/target/ray-word-count-1.0-SNAPSHOT-jar-with-dependencies.jar -Dray.job.code-search-path=ray-word-count/target"`