All Products
Search
Document Center

E-MapReduce:Percepat akses OSS-HDFS dengan JindoCache

Last Updated:Aug 21, 2026

Topik ini menjelaskan cara menggunakan JindoCache untuk mempercepat pekerjaan yang mengakses OSS-HDFS. JindoCache memanfaatkan sumber daya penyimpanan kluster Anda untuk menyediakan caching transparan bagi file OSS-HDFS, sehingga meningkatkan kinerja akses data.

Prasyarat

  • Anda telah membuat kluster dan memilih layanan JindoCache. Untuk informasi selengkapnya, lihat Create a cluster.

  • Anda telah mengaktifkan OSS-HDFS dan memberikan izin yang diperlukan. Untuk informasi selengkapnya, lihat Enable OSS-HDFS.

Prosedur

  1. Tentukan kebijakan caching.

    JindoCache menggunakan CacheSets untuk mengelola kebijakan caching. Anda dapat menentukan satu atau beberapa CacheSets untuk menerapkan kebijakan berbeda pada path berbeda.

    1. Login ke kluster. Untuk informasi selengkapnya, lihat Log on to a cluster.

    2. Buat file cacheset.xml.

      Pada contoh ini, file cacheset.xml berada di direktori /path.

      <?xml version="1.0" encoding="UTF-8"?>
      <cachesets>
          <cacheset>
              <name>name1</name>
              <path>oss://emr-test/dir1</path>
              <cacheStrategy>DISTRIBUTED</cacheStrategy>
              <metaPolicy>
                  <type>ALWAYS</type>
              </metaPolicy>
              <readPolicy>CACHE_ASIDE</readPolicy>
              <writePolicy>WRITE_AROUND</writePolicy>
          </cacheset>
          <cacheset>
              <name>name2</name>
              <path>oss://emr-test/dir2</path>
              <cacheStrategy>DHT</cacheStrategy>
              <metaPolicy>
                  <type>ONCE</type>
              </metaPolicy>
              <readPolicy>CACHE_ASIDE</readPolicy>
              <writePolicy>WRITE_AROUND</writePolicy>
          </cacheset>
      </cachesets>

      Parameter

      Deskripsi

      Contoh

      name

      Nama CacheSet. Nama ini harus unik. Nama duplikat akan menimpa CacheSet yang sudah ada.

      name1

      path

      Path induk untuk kebijakan tersebut. Kebijakan dalam CacheSet ini diterapkan ke semua subpath-nya.

      oss://emr-test/dir1

      cacheStrategy

      Kebijakan caching. Nilai yang valid adalah DISTRIBUTED dan DHT (Distributed Hash Table). Kebijakan DHT ideal untuk mempercepat akses read-only ke file kecil.

      DISTRIBUTED

      metaPolicy

      Kebijakan caching metadata. Nilai yang valid adalah ALWAYS dan ONCE.

      • ALWAYS: Tidak menyimpan cache metadata. Semua operasi metadata membaca langsung dari sumber remote.

      • ONCE: Menyimpan cache metadata. Setelah pembacaan awal dari sumber remote, permintaan metadata berikutnya dilayani dari cache lokal.

      Catatan

      Jika cacheStrategy diatur ke DHT, metaPolicy harus diatur ke ONCE.

      ALWAYS

      readPolicy

      Kebijakan baca. Saat ini hanya CACHE_ASIDE yang didukung, artinya data pertama kali dibaca dari cache.

      CACHE_ASIDE

      writePolicy

      Kebijakan tulis. Nilai yang didukung meliputi:

      • WRITE_AROUND: Menulis data langsung ke penyimpanan remote, melewati cache.

      • CACHE_ONLY: Menulis data hanya ke cache.

        Catatan

        Jika Anda menggunakan kebijakan CACHE_ONLY, Anda juga harus mengatur metaPolicy ke ONCE.

      • WRITE_THROUGH: Menulis data ke cache dan penyimpanan remote sekaligus.

      WRITE_AROUND

    3. Jalankan perintah berikut untuk merefresh CacheSets dalam sistem JindoCache.

      jindocache -refreshCacheSet -path /path/cacheset.xml

      Jika perintah berhasil, output-nya mencakup pesan Successfully refresh cacheset !!!. Untuk informasi selengkapnya tentang perintah JindoCache, lihat JindoCache CLI User Guide.

    4. Gunakan perintah listCacheSet untuk melihat informasi tentang CacheSets dalam sistem.

      jindocache -listCacheSet
  2. Konfigurasikan JindoSDK.

    Konfigurasikan kelas implementasi JindoCache untuk OSS-HDFS di Hadoop-Common. Di Konsol EMR, buka halaman konfigurasi layanan Hadoop-Common, pilih tab core-site.xml, lalu ubah item konfigurasi tersebut. Untuk langkah-langkah detail, lihat Manage configuration items.

    Parameter

    Deskripsi

    fs.xengine

    Nilainya harus jindocache.

    Jika parameter ini dikosongkan, client tidak menggunakan cache dan berkomunikasi langsung dengan backend.

    Catatan

    Ini adalah konfigurasi sisi client. Anda tidak perlu restart layanan JindoCache.

    Setelah menyelesaikan konfigurasi ini, pekerjaan yang mengakses OSS-HDFS dapat menggunakan fitur caching. JindoCache menyediakan caching transparan, sehingga Anda tidak perlu memodifikasi pekerjaan Anda. Saat pekerjaan membaca data dari OSS-HDFS, data tersebut secara otomatis disimpan dalam cache sistem JindoCache. Permintaan berikutnya untuk data yang sama akan dilayani dari cache, sehingga meningkatkan kinerja baca.

FAQ

Konfigurasikan AccessKey untuk OSS-HDFS

JindoCache mendukung akses OSS-HDFS tanpa kredensial. Namun, jika Anda perlu mengakses OSS-HDFS lintas akun berbeda, Anda harus mengonfigurasi kredensial, termasuk ID AccessKey, Rahasia AccessKey, dan titik akhir.

  1. Buka tab common untuk layanan JindoCache.

    1. Login ke E-MapReduce console.

    2. Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya sesuai kebutuhan.

    3. Di halaman Clusters, temukan kluster target lalu klik Services di kolom Actions.

    4. Di bagian layanan JindoCache, klik Configure.

    5. Klik tab common.

  2. Tambahkan dan terapkan item konfigurasi.

    1. Klik Add Configuration Item.

    2. Di kotak dialog Add Configuration Item, tambahkan item konfigurasi berikut.

      Untuk langkah-langkah detail, lihat Manage configuration items.

      Catatan

      Ganti YYY dengan nama bucket OSS-HDFS Anda.

      Parameter

      Deskripsi

      jindocache.oss.bucket.YYY.accessKeyId

      ID AccessKey untuk akses OSS-HDFS.

      jindocache.oss.bucket.YYY.accessKeySecret

      Rahasia AccessKey untuk akses OSS-HDFS.

      jindocache.oss.bucket.YYY.endpoint

      Titik akhir untuk OSS-HDFS. Contoh: cn-hangzhou.oss-dls.aliyuncs.com.

      jindocache.oss.bucket.YYY.data.lake.storage.enable

      Nilainya harus true.