Mode cache JindoFS menyimpan data Anda sebagai objek di Object Storage Service (OSS) sekaligus melakukan cache file yang sering diakses pada disk lokal kluster EMR. Pendekatan ini memungkinkan Anda membaca dan menulis data OSS dengan kecepatan disk lokal tanpa perlu memigrasikan data atau mengonversi format file.
Cara kerja mode cache
Mode cache mengikuti siklus hidup tiga tahap:
Load: JindoFS membaca file yang sering diakses dari OSS dan menyimpannya dalam cache pada disk lokal.
Manage: JindoFS secara otomatis melacak file dalam cache yang bersifat hot. Ruang disk lokal dikendalikan oleh watermark tinggi dan rendah yang dapat dikonfigurasi.
Evict: Saat penggunaan disk melebihi watermark tinggi, JindoFS menghapus data dingin hingga penggunaan turun ke watermark rendah.
Secara default, cache lokal dinonaktifkan dan semua operasi baca langsung mengarah ke OSS. Aktifkan fitur ini ketika beban kerja yang banyak membaca memerlukan latensi lebih rendah.
Pilih skema akses
Mode cache mendukung dua cara untuk mengakses OSS:
| OSS Scheme | JFS Scheme | |
|---|---|---|
| Format URI | oss://<bucket>/<path> | jfs://<namespace>/<path> |
| Persyaratan konfigurasi | Tidak ada — langsung berfungsi setelah pembuatan kluster | Memerlukan konfigurasi namespace di SmartData |
| Kompatibilitas klien OSS | Penuh — pekerjaan yang sudah ada berjalan tanpa perubahan | Memerlukan pembaruan URI |
| Kapan digunakan | Pilihan default untuk sebagian besar beban kerja | Saat Anda memerlukan kontrol akses tingkat namespace atau beberapa backend penyimpanan |
Gunakan OSS Scheme kecuali Anda memiliki alasan spesifik untuk menggunakan JFS Scheme.
Akses OSS dengan OSS Scheme
Tidak diperlukan konfigurasi tambahan. Setelah membuat kluster EMR, akses OSS secara langsung:
oss://<bucket_name>/<path_of_your_file>Pekerjaan yang sudah menggunakan format URI ini tetap berfungsi tanpa modifikasi.
Konfigurasi JFS Scheme
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster EMR dengan layanan SmartData diaktifkan
Akses ke Konsol Alibaba Cloud E-MapReduce
Konfigurasi namespace
Masuk ke Konsol Alibaba Cloud E-MapReduce.
Pada bilah navigasi atas, pilih wilayah tempat kluster Anda berada. Pilih kelompok sumber daya sesuai kebutuhan.
Klik tab Cluster Management. Temukan kluster Anda dan klik Details di kolom Actions.
Pada panel navigasi kiri, klik Cluster Service > SmartData.
Klik tab Configure. Di bagian Service Configuration, klik tab bigboot.

Atur
jfs.namespacesmenjaditest.JindoFS mendukung beberapa namespace. Pisahkan nama namespace dengan koma. Topik ini menggunakan namespace bernama
test.Klik Custom Configuration. Pada kotak dialog Add Configuration Item, konfigurasikan parameter berikut lalu klik OK.
Parameter Deskripsi Contoh jfs.namespaces.test.oss.uriBackend penyimpanan OSS untuk namespace test. Atur ke direktori tertentu atau direktori root bucket OSS.oss://<oss_bucket>/<oss_dir>/jfs.namespaces.test.modeMode penyimpanan. Atur ke cacheuntuk mode cache.cacheDi pojok kanan atas bagian Service Configuration, klik Save.
Dari daftar drop-down Actions di pojok kanan atas, pilih Restart Jindo Namespace Service.
Setelah layanan direstart, akses file menggunakan JFS Scheme:
jfs://test/<path_to_your_file>JindoFS memetakan path JFS ke path OSS berdasarkan jfs.namespaces.test.oss.uri. Sebagai contoh, jfs://test/hello.txt dipetakan ke oss://<oss_bucket>/<oss_dir>/hello.txt.
Aktifkan cache lokal
Secara default, EMR membaca data langsung dari OSS. Aktifkan cache lokal untuk menyimpan blok data hot pada disk lokal guna mempercepat pembacaan berulang.
Pada panel navigasi kiri, klik Cluster Service > SMARTDATA. Pada halaman SMARTDATA, klik tab Configure. Di bagian Service Configuration, klik tab client.
Atur
jfs.cache.data-cache.enablemenjadi1.
Perubahan langsung berlaku pada klien — tidak perlu restart layanan SmartData.
Setelah Anda mengaktifkan cache lokal, JindoFS secara otomatis mengelola data dalam cache menggunakan watermark tinggi dan rendah seperti dijelaskan dalam Kontrol penggunaan ruang disk.
Kontrol penggunaan ruang disk
JindoFS secara otomatis menghapus data dingin saat penggunaan disk lokal tinggi. Dua parameter mengatur ambang batas penghapusan tersebut:
| Parameter | Deskripsi | Default |
|---|---|---|
storage.watermark.high.ratio | Batas atas penggunaan disk untuk data JindoFS. Saat penggunaan melebihi rasio ini, JindoFS mulai menghapus data. | 0.4 |
storage.watermark.low.ratio | Batas bawah. JindoFS terus menghapus data hingga penggunaan disk turun ke rasio ini. | 0.2 |
Kedua parameter menerima nilai desimal antara 0 dan 1. Rasio tinggi harus lebih besar daripada rasio rendah.
Untuk memperbarui pengaturan watermark:
Di bagian Service Configuration untuk SmartData, klik tab storage.

Perbarui
storage.watermark.high.ratiodanstorage.watermark.low.ratiosesuai kebutuhan.Di pojok kanan atas bagian Service Configuration, klik Save. Pada kotak dialog Confirm Changes, masukkan deskripsi, aktifkan Auto-update Configuration, lalu klik OK.
Dari daftar drop-down Actions di pojok kanan atas, pilih Restart Jindo Storage Service. Pada kotak dialog Cluster Activities, masukkan parameter yang diperlukan lalu klik OK. Pada pesan konfirmasi, klik OK.
Akses bucket OSS cross-account atau cross-region
Jika kluster EMR dan bucket OSS berada dalam akun Alibaba Cloud yang sama dan wilayah yang sama, tidak diperlukan konfigurasi AccessKey.
Untuk kasus lainnya (akun berbeda atau wilayah berbeda), konfigurasikan pasangan AccessKey dan titik akhir secara eksplisit.
OSS Scheme
Pada panel navigasi kiri, klik Cluster Service > SMARTDATA. Pada halaman SMARTDATA, klik tab Configure. Di bagian Service Configuration, klik tab smartdata-site.
Klik Custom Configuration. Pada kotak dialog Add Configuration Item, konfigurasikan parameter berikut lalu klik OK.
Parameter Deskripsi fs.jfs.cache.oss-accessKeyIdID AccessKey bucket OSS. fs.jfs.cache.oss-accessKeySecretRahasia AccessKey bucket OSS. fs.jfs.cache.oss-endpointTitik akhir bucket OSS.
JFS Scheme
Pada panel navigasi kiri, klik Cluster Service > SMARTDATA. Pada halaman SMARTDATA, klik tab Configure. Di bagian Service Configuration, klik tab bigboot.
Atur
jfs.namespacesmenjaditest.Klik Custom Configuration. Pada kotak dialog Add Configuration Item, konfigurasikan parameter berikut lalu klik OK.
Parameter Deskripsi jfs.namespaces.test.oss.uriURI backend penyimpanan OSS. Sertakan titik akhir dalam URI. Contoh: oss://<oss_bucket.endpoint>/<oss_dir>.jfs.namespaces.test.oss.access.keyID AccessKey bucket OSS. jfs.namespaces.test.oss.access.secretRahasia AccessKey bucket OSS.
Konfigurasi lanjutan
Parameter berikut mengoptimalkan performa cache. Perubahan langsung berlaku pada klien — tidak perlu restart layanan.
tab client (di bagian Service Configuration):
| Parameter | Deskripsi | Default |
|---|---|---|
client.oss.upload.threads | Jumlah thread upload OSS per aliran penulisan data. | 4 |
client.oss.upload.max.parallelism | Maksimum thread upload OSS konkuren per proses. Batas ini mencegah thread upload mengonsumsi bandwidth dan memori berlebihan. | 16 |
smartdata-site tab (di bagian Service Configuration):
| Parameter | Deskripsi | Default |
|---|---|---|
fs.jfs.cache.copy.simple.max.byte | Ambang batas ukuran file untuk operasi rename. File yang lebih kecil dari nilai ini menggunakan antarmuka copy umum; file yang lebih besar menggunakan Multipart Copy untuk performa lebih baik. Jika fast copy OSS diaktifkan, atur ke -1 agar semua file menggunakan antarmuka copy umum dan mendapatkan performa rename optimal. | — |
fs.jfs.cache.write.buffer.size | Ukuran buffer untuk aliran penulisan data, dalam byte. Harus merupakan pangkat dari 2. Nilai maksimum: 8388608 (8 MB). Kurangi nilai ini jika aliran penulisan mengonsumsi memori berlebihan. | 1048576 |
fs.oss.committer.magic.enabled | Mengaktifkan Jindo Job Committer, yang melakukan commit pekerjaan tanpa operasi rename dan meningkatkan performa commit. Dalam mode cache, performa rename OSS lebih rendah dibandingkan standar, sehingga Jindo Job Committer merupakan committer yang direkomendasikan. | true |