全部产品
Search
文档中心

Object Storage Service:Panduan cepat menghubungkan ke layanan OSS-HDFS dari kluster non-EMR

更新时间:Jan 21, 2026

Layanan OSS-HDFS, juga dikenal sebagai JindoFS, sepenuhnya kompatibel dengan antarmuka Hadoop Distributed File System (HDFS) dan mendukung operasi tingkat direktori. SDK Jindo memungkinkan aplikasi komputasi dan analitik Apache Hadoop—seperti MapReduce, Hive, Spark, dan Flink—untuk mengakses layanan OSS-HDFS. Topik ini menjelaskan cara menerapkan JindoSDK pada instance ECS dan melakukan operasi umum untuk mulai menggunakan layanan OSS-HDFS.

Catatan

Jika Anda menggunakan kluster Alibaba Cloud EMR, hubungkan ke layanan OSS-HDFS melalui kluster EMR tersebut. Untuk informasi selengkapnya, lihat Panduan cepat menghubungkan ke layanan OSS-HDFS dari kluster EMR.

Prasyarat

Prosedur

  1. Hubungkan ke instans ECS. Untuk informasi selengkapnya, lihat Hubungkan ke instans ECS.

  2. Unduh dan ekstrak paket JAR JindoSDK. Untuk tautan unduhan, lihat GitHub.

  3. Jalankan perintah berikut untuk mengekstrak paket JAR JindoSDK.

    Contoh berikut menunjukkan cara mengekstrak jindosdk-x.x.x-linux.tar.gz. Jika Anda menggunakan versi JindoSDK yang berbeda, gantilah nama paket JAR dengan nama yang sesuai.

    tar zxvf jindosdk-x.x.x-linux.tar.gz
    Catatan

    x.x.x menunjukkan nomor versi paket JAR JindoSDK.

  4. Konfigurasikan variabel lingkungan.

    1. Konfigurasikan JINDOSDK_HOME.

      Dalam contoh ini, paket diekstrak ke direktori /usr/lib/jindosdk-x.x.x-linux:

      export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux
    2. Konfigurasikan HADOOP_CLASSPATH.

      export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*
      Penting

      Terapkan direktori instalasi dan atur variabel lingkungan pada semua node yang diperlukan.

  5. Konfigurasikan kelas implementasi layanan OSS-HDFS dan AccessKey.

    1. Jalankan perintah berikut untuk membuka file konfigurasi core-site.xml Hadoop.

      vim /usr/local/hadoop/etc/hadoop/core-site.xml
    2. Pada file core-site.xml, konfigurasikan kelas implementasi DLS JindoSDK.

      <configuration>
          <property>
              <name>fs.AbstractFileSystem.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOSS</value>
          </property>
      
          <property>
              <name>fs.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
          </property>
      </configuration>
    3. Pada file core-site.xml, konfigurasikan Pasangan Kunci Akses akun Alibaba Cloud Anda atau Pengguna RAM yang memiliki izin yang diperlukan.

      Untuk informasi selengkapnya tentang izin yang diperlukan bagi Pengguna RAM dalam skenario ini, lihat Berikan izin kepada Pengguna RAM untuk menghubungkan ke layanan OSS-HDFS dari kluster non-EMR.

      <configuration>
          <property>
              <name>fs.oss.accessKeyId</name>
              <value>xxx</value>
          </property>
      
          <property>
              <name>fs.oss.accessKeySecret</name>
              <value>xxx</value>
          </property>
      </configuration>
  6. Konfigurasikan Endpoint layanan OSS-HDFS.

    Anda harus mengonfigurasi Endpoint untuk mengakses bucket OSS. Gunakan format path berikut: oss://<Bucket>.<Endpoint>/<Object>. Sebagai contoh, oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt. JindoSDK menggunakan Endpoint dalam path akses untuk mengakses API layanan OSS-HDFS yang sesuai.

  7. Gunakan perintah HDFS Shell untuk melakukan operasi umum pada layanan OSS-HDFS.

    • Unggah file

      Contoh berikut menunjukkan cara mengunggah file examplefile.txt dari direktori root lokal ke examplebucket:

      hdfs dfs -put examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/
    • Unduh file

      Contoh berikut menunjukkan cara mengunduh file exampleobject.txt dari examplebucket ke direktori lokal /tmp:

      hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/

    Untuk informasi selengkapnya tentang operasi lainnya, lihat Akses layanan OSS-HDFS menggunakan perintah shell Hadoop.

Lampiran 1: Penyetelan performa

Untuk menyetel performa, Anda dapat menambahkan item konfigurasi berikut ke file core-site.xml Hadoop. Item konfigurasi ini hanya didukung di JindoSDK 4.0 dan versi yang lebih baru.

<configuration>

    <property>
          <!-- Direktori untuk file sementara yang ditulis oleh client. Anda dapat mengonfigurasi beberapa direktori yang dipisahkan koma. Di lingkungan multi-pengguna, konfigurasikan izin baca dan tulis. -->
        <name>fs.oss.tmp.data.dirs</name>
        <value>/tmp/</value>
    </property>

    <property>
          <!-- Jumlah percobaan ulang setelah gagal mengakses OSS. -->
        <name>fs.oss.retry.count</name>
        <value>5</value>
    </property>

    <property>
          <!-- Periode timeout untuk permintaan OSS, dalam milidetik. -->
        <name>fs.oss.timeout.millisecond</name>
        <value>30000</value>
    </property>

    <property>
          <!-- Periode timeout untuk menghubungkan ke OSS, dalam milidetik. -->
        <name>fs.oss.connection.timeout.millisecond</name>
        <value>3000</value>
    </property>

    <property>
          <!-- Jumlah thread konkuren untuk mengunggah satu file ke OSS. -->
        <name>fs.oss.upload.thread.concurrency</name>
        <value>5</value>
    </property>

    <property>
          <!-- Ukuran antrian untuk tugas unggah konkuren ke OSS. -->
        <name>fs.oss.upload.queue.size</name>
        <value>5</value>
    </property>

    <property>
          <!-- Jumlah maksimum tugas unggah konkuren ke OSS dalam satu proses. -->
        <name>fs.oss.upload.max.pending.tasks.per.stream</name>
        <value>16</value>
    </property>

    <property>
          <!-- Ukuran antrian untuk tugas unduh konkuren dari OSS. -->
        <name>fs.oss.download.queue.size</name>
        <value>5</value>
    </property>

    <property>
          <!-- Jumlah maksimum thread unduh konkuren dari OSS dalam satu proses. -->
        <name>fs.oss.download.thread.concurrency</name>
        <value>16</value>
    </property>

    <property>
          <!-- Ukuran buffer untuk pra-membaca data dari OSS. -->
        <name>fs.oss.read.readahead.buffer.size</name>
        <value>1048576</value>
    </property>

    <property>
          <!-- Jumlah buffer untuk pra-membaca data secara konkuren dari OSS. -->
        <name>fs.oss.read.readahead.buffer.count</name>
        <value>4</value>
    </property>

</configuration>