全部产品
Search
文档中心

E-MapReduce:Gunakan perintah POSIX untuk mengakses OSS atau OSS-HDFS

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menggunakan perintah Antarmuka Sistem Operasi Portabel (POSIX) untuk mengakses Object Storage Service (OSS) atau OSS-HDFS.

Persiapan lingkungan

  • Dalam lingkungan E-MapReduce (EMR), JindoSDK diinstal secara default dan dapat langsung digunakan.
    Catatan Untuk mengakses OSS-HDFS, Anda harus membuat kluster EMR V3.42.0 atau versi minor lebih baru, atau EMR V5.8.0 atau versi minor lebih baru.
  • Dalam lingkungan non-EMR, instal JindoSDK terlebih dahulu. Untuk informasi lebih lanjut, lihat Deploy JindoSDK dalam Lingkungan Selain EMR.
    Catatan Untuk mengakses OSS-HDFS, Anda harus menginstal JindoSDK V4.X atau yang lebih baru.

Instal dependensi yang diperlukan

Catatan Secara default, dependensi yang diperlukan telah diinstal untuk kluster berikut:
  • Kluster EMR V3.44.0 atau versi minor lebih baru atau kluster EMR V5.10.0 atau versi minor lebih baru.
  • Kluster di mana JindoSDK V4.6.2 atau yang lebih baru telah diterapkan.
  • Jika kluster Anda menggunakan JindoSDK 4.5.0 atau yang lebih lama, Anda harus menginstal dependensi berikut:
    # CentOS
    sudo yum install -y fuse3 fuse3-devel
    # Debian
    sudo apt install -y fuse3 libfuse3-dev
  • Jika kluster Anda menggunakan JindoSDK 4.5.1 atau yang lebih baru, Anda harus menginstal libfuse 3.7 atau yang lebih baru.

    Sebagai contoh, jalankan perintah berikut untuk menginstal fuse-3.11:

    # build fuse required meson & ninja, for debian: apt install -y pkg-config meson ninja-build
    sudo yum install -y meson ninja-build
    
    # compile fuse required newer g++ (only CentOS)
    sudo yum install -y scl-utils
    sudo yum install -y alinux-release-experimentals
    sudo yum install -y devtoolset-8-gcc devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-make devtoolset-8-gcc-c++
    sudo su -c "echo 'source /opt/rh/devtoolset-8/enable' > /etc/profile.d/g++.sh"
    source /opt/rh/devtoolset-8/enable
    sudo ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/local/bin/gcc
    sudo ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/local/bin/g++
    
    # compile & install libfuse
    wget https://github.com/libfuse/libfuse/releases/download/fuse-3.11.0/fuse-3.11.0.tar.xz
    xz -d fuse-3.11.0.tar.xz
    tar xf fuse-3.11.0.tar
    cd fuse-3.11.0/
    mkdir build; cd build
    meson ..
    sudo ninja install

Mount JindoFuse

Setelah Anda mengonfigurasi JindoSDK, Anda dapat melakukan operasi berikut untuk memasang JindoFuse.

  • Jalankan perintah berikut untuk membuat titik mount:
    sudo mkdir -p <mountpoint>
  • Jalankan perintah berikut untuk memasang JindoFuse:
    jindo-fuse <mount_point> -ouri=[<osspath>]

    Setelah Anda menjalankan perintah tersebut, proses daemon akan dimulai di latar belakang untuk memasang jalur OSS atau OSS-HDFS yang ditentukan ke titik mount sistem file lokal.

    Ganti nilai dari <mount_point> dengan jalur lokal. Ganti nilai dari <oss_path> dengan jalur OSS atau OSS-HDFS yang ingin dipetakan. Jalur tersebut bisa berupa direktori root atau subdirektori bucket OSS atau OSS-HDFS. Contoh: oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/subdir/.

    Catatan Metode untuk memasang jalur OSS dan OSS-HDFS pada dasarnya sama. Hanya titik akhir dalam jalur yang berbeda. Untuk informasi lebih lanjut, lihat Deskripsi Jalur.
  • Jalankan perintah berikut untuk memeriksa apakah JindoFuse telah dipasang:
    ps -ef | grep jindo-fuse
    Jika proses jindo-fuse sedang berjalan dan parameter startup sesuai harapan, JindoFuse telah dipasang.

Akses JindoFuse

Jika JindoFS dipasang ke jalur lokal /mnt/oss/, lakukan operasi berikut untuk mengakses JindoFuse:
  • Jalankan perintah berikut untuk melihat semua direktori di jalur /mnt/oss/:
    ls /mnt/oss/
  • Jalankan perintah berikut untuk membuat direktori bernama dir1 dan melihat direktori tersebut:
    mkdir /mnt/oss/dir1
    ls /mnt/oss/
  • Jalankan perintah berikut untuk menulis data ke file bernama hello.txt:
    echo "hello world" > /mnt/oss/dir1/hello.txt
  • Jalankan perintah berikut untuk membaca data dari file hello.txt:
    cat /mnt/oss/dir1/hello.txt
    hello world akan ditampilkan.
  • Jalankan perintah berikut untuk menghapus direktori dir1:
    rm -rf /mnt/oss/dir1/

Copot pemasangan JindoFuse secara manual

Jalankan perintah berikut untuk melepas titik mount:
umount <mount_point>

Copot pemasangan JindoFuse secara otomatis

Anda dapat menggunakan parameter -oauto_unmount untuk melepas titik mount secara otomatis.

Jika Anda menggunakan parameter ini, Anda dapat menjalankan perintah killall -9 jindo-fuse untuk mengirim sinyal SIGINT ke proses jindo-fuse. Titik mount akan dilepas secara otomatis sebelum proses keluar.

Untuk informasi lebih lanjut, lihat Panduan Pengguna JindoFuse.