All Products
Search
Document Center

Lindorm:Gunakan kelompok sumber daya RAY resident

Last Updated:Jul 23, 2026

Topik ini menjelaskan cara menggunakan kelompok sumber daya RAY di Alibaba Cloud Lindorm. Anda akan mempelajari cara menyiapkan lingkungan, mengirim pekerjaan, memantau statusnya, dan melihat log.

Penting

Kelompok sumber daya RAY saat ini berada dalam pratinjau undangan. Untuk meminta akses, hubungi dukungan teknis Lindorm (ID DingTalk: s0s3eg3).

Prasyarat

  • Anda telah mengaktifkan LindormTable Lindorm.

  • Anda telah mengaktifkan compute engine Lindorm.

  • Anda telah mengaktifkan fitur kelompok sumber daya RAY.

  • Anda telah menambahkan alamat IP client ke daftar putih Lindorm.

Siapkan lingkungan

  1. Masuk ke Konsol Lindorm. Di pojok kiri atas halaman, pilih wilayah instans tersebut. Pada halaman Instances, klik ID instans target atau klik View Instance Details di kolom Actions untuk instans tersebut.

  2. Pada halaman Instance Details, di bagian Configurations, klik Resource Groups di kolom Actions pada Compute Engine.

  3. Pada halaman Resource Group Details, arahkan kursor mouse ke WebUI di kolom Actions pada kelompok sumber daya RAY untuk melihat alamat WebUI-nya. Contoh: http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/.

  4. Instal Ray client. Untuk Python 3, jalankan pip3 install ray[default].

    Catatan

    Setelah instalasi, Anda dapat menjalankan ray --version untuk memverifikasi bahwa instalasi berhasil.

Otentikasi kelompok sumber daya RAY

Kelompok sumber daya RAY menggunakan token dari Lindorm Compute untuk otentikasi, mencegah client yang tidak sah mengakses API kluster dan mengirim pekerjaan.

Token digunakan untuk otentikasi sumber daya komputasi.

Konfigurasikan otentikasi pekerjaan melalui CLI

Anda dapat mengonfigurasi otentikasi baris perintah untuk kelompok sumber daya RAY dengan dua cara.

  • Metode 1: Kirim token menggunakan parameter --headers.

    ray job submit \
      --address "http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/" \
      --headers '{"Authorization": "Bearer xxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx"}' \
      --runtime-env-json '{"working_dir": "."}' \
      -- python yourRayJob.py
  • Metode 2: Tetapkan variabel lingkungan RAY_AUTH_MODE dan RAY_AUTH_TOKEN.

    export RAY_AUTH_MODE=token
    export RAY_AUTH_TOKEN=xxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx
    
    ray job submit \
      --address "http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/" \
      --runtime-env-json '{"working_dir": "."}' \
      -- python yourRayJob.py
    Catatan

    Metode ini memerlukan versi Ray client 2.52.0 atau lebih baru.

Konfigurasikan otentikasi Ray Dashboard

Saat pertama kali mengakses WebUI kelompok sumber daya RAY, Anda harus memasukkan token.

Kirim pekerjaan RAY

  1. Di client Anda, siapkan pekerjaan RAY.

    Dalam contoh ini, kelompok sumber daya RAY memproses file test-data di bucket test-bucket Object Storage Service (OSS) dan mengunggah hasilnya ke OSS. Logika pekerjaan didefinisikan dalam skrip ray-oss-example.py, yang berada di direktori ray_job_test pada client.

    import ray
    import sys
    
    from ossfs import OSSFileSystem
    import tempfile
    import ossfs
    
    ray.init()
    
    @ray.remote
    def process(oss_key: str, oss_secret: str, filename: str):
        print("Processing %s" % filename)
        fs = oss_filesystem(oss_key, oss_secret)
        # Download to local
        tmp_filename = tempfile.NamedTemporaryFile(delete=False).name
        fs.get_file(filename, tmp_filename)
        print("tmp file name is %s" % tmp_filename)
    
        with open(tmp_filename, 'rb') as f:
            content = f.read()
            print(content)
    
        # Put to OSS
        result_remote_filename = f"{filename}_result"
        fs.put_file(tmp_filename, result_remote_filename)
        return "success"
    
    def oss_filesystem(oss_key: str, oss_secret: str) -> OSSFileSystem:
        return ossfs.OSSFileSystem(
            endpoint="oss-cn-hangzhou-internal.aliyuncs.com", # OSS Endpoint
            key=oss_key, 
            secret=oss_secret 
        )
    
    if __name__ == "__main__":
        if (len(sys.argv) < 2):
            raise ValueError("python %s oss_key oss_secret" % __file__)
    
        oss_key = sys.argv[1]
        oss_secret = sys.argv[2]
        base = "/test-bucket/test-data/"  # /<bucketname>/path
        fs = oss_filesystem(oss_key, oss_secret)
    
        files = [item['name'] for item in fs.ls(base) if item['name'] != base]
    
        for file in files:
            print("Head processing %s" % file)
            result = ray.get(process.remote(oss_key, oss_secret, file))
            print(f"{file} is processed, status is {result}")
    
    ray.shutdown()

    Parameter

    Parameter

    Contoh

    Deskripsi

    Endpoint

    oss-cn-hangzhou-internal.aliyuncs.com

    Titik akhir OSS. Lihat Wilayah dan titik akhir untuk menemukan titik akhir yang benar.

    Base

    /test-bucket/test-data/

    Jalur ke file OSS yang ingin diproses.

    Catatan
    • Ray memungkinkan Anda mendeklarasikan sumber daya yang diperlukan untuk setiap task atau actor dalam dekorator @ray.remote(). Misalnya, Anda dapat menggunakan num_cpus dan num_gpus untuk menentukan sumber daya CPU dan GPU yang diperlukan. Untuk informasi selengkapnya tentang parameter tersebut, lihat dokumentasi.

    • Ray mendukung penjadwalan tugas pemrosesan data bergaya pipeline pada sumber daya heterogen, seperti CPU dan GPU, di beberapa node. Metode ini secara signifikan meningkatkan efisiensi pemrosesan data dibandingkan pemrosesan batch tradisional. Untuk informasi selengkapnya, lihat dokumentasi.

  2. Kirim pekerjaan ke kelompok sumber daya RAY yang ditentukan.

    1. Buka direktori tempat pekerjaan berada dengan menjalankan cd ray_job_test.

    2. Kirim pekerjaan dengan menjalankan ray job submit --headers '{"Authorization": "Bearer RAY_AUTH_TOKEN"}' --runtime-env-json '{"working_dir": "."}' --address RAY_ADDRESS -- python ray-oss-example.py oss_key oss_secret.

      Parameter

      Parameter

      Contoh

      Deskripsi

      RAY_ADDRESS

      http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/

      Alamat WebUI kelompok sumber daya RAY.

      my_job.py

      ray-oss-example.py

      Nama skrip yang akan dijalankan.

      oss_key

      yourAccessKeyID

      ID AccessKey dan AccessKey Secret dari Akun Alibaba Cloud atau Pengguna RAM yang digunakan untuk mengakses file OSS. Untuk mendapatkan pasangan Kunci Akses, lihat Dapatkan AccessKey.

      oss_secret

      yourAccessKeySecret

      RAY_AUTH_TOKEN

      8f2e1a3c-9b4d-4e5f-a6c2-d7b8f9e0a1b2

      Token yang diperlukan untuk otentikasi dengan kelompok sumber daya RAY.

      Contoh

      ray job submit --headers '{"Authorization": "Bearer 8f2e1a3c-9b4d-4e5f-a6c2-d7b8f9e0a1b2"}' --runtime-env-json '{"pip": ["ossfs"], "working_dir": "."}' --address http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/ -- python ray-oss-example.py yourAccessKeyID yourAccessKeySecret

      Perintah ini mengembalikan ID pengiriman (SUBMISSION_ID) dari pekerjaan yang dikirim, misalnya raysubmit_gmSnPSFqmEXG****, yang Anda perlukan untuk memeriksa status pekerjaan dari command line.

Lihat status pekerjaan

Anda dapat memantau status real-time, log, dan daftar pekerjaan di Ray Dashboard dengan membuka alamat WebUI kelompok sumber daya RAY di browser.

Manage jobs

Anda dapat melihat dan mengelola pekerjaan dengan beberapa cara:

  • Command line: Gunakan subperintah ray job untuk melihat dan mengelola pekerjaan. Untuk informasi selengkapnya, lihat Ray Jobs CLI API.

  • Python SDK: Ray menyediakan pustaka Python yang memungkinkan Anda menggunakan JobSubmissionClient untuk melihat dan mengelola pekerjaan. Untuk informasi selengkapnya, lihat Python SDK API.

  • REST API: Ray menyediakan REST API yang dapat Anda gunakan untuk melihat dan mengelola pekerjaan dengan membuat permintaan HTTP. Untuk informasi selengkapnya, lihat Ray Jobs REST API.

    Catatan

    Gunakan alamat WebUI sebagai URL titik masuk untuk mengakses Ray REST API.

Contoh berikut menunjukkan cara melihat dan mengelola pekerjaan dari command line.

  • Lihat status pekerjaan.

    ray job status --headers '{"Authorization": "Bearer RAY_AUTH_TOKEN"}' --address RAY_ADDRESS SUBMISSION_ID

    Contoh:

    ray job status --headers '{"Authorization": "Bearer 8f2e1a3c-9b4d-4e5f-a6c2-d7b8f9e0a1b2"}' --address http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/ raysubmit_gmSnPSFqmEXG****
  • Lihat log pekerjaan.

    ray job logs --headers '{"Authorization": "Bearer RAY_AUTH_TOKEN"}' --address RAY_ADDRESS SUBMISSION_ID

    Contoh:

    ray job logs --headers '{"Authorization": "Bearer 8f2e1a3c-9b4d-4e5f-a6c2-d7b8f9e0a1b2"}' --address http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/ raysubmit_gmSnPSFqmEXG****
  • Lihat daftar pekerjaan.

    ray job list --headers '{"Authorization": "Bearer RAY_AUTH_TOKEN"}' --address RAY_ADDRESS

    Contoh:

    ray job list --headers '{"Authorization": "Bearer 8f2e1a3c-9b4d-4e5f-a6c2-d7b8f9e0a1b2"}' --address http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/
  • Hentikan pekerjaan.

    ray job stop --headers '{"Authorization": "Bearer RAY_AUTH_TOKEN"}' --address RAY_ADDRESS SUBMISSION_ID

    Contoh:

    ray job stop --headers '{"Authorization": "Bearer 8f2e1a3c-9b4d-4e5f-a6c2-d7b8f9e0a1b2"}' --address http://alb-57k7r581oht8rd****.cn-hangzhou.alb.aliyuncsslb.com/ray/raycg/dashboard/ raysubmit_gmSnPSFqmEXG****