All Products
Search
Document Center

Object Storage Service:Gunakan Hadoop berbasis HDP 2.6 untuk membaca dan menulis data OSS

Last Updated:Mar 21, 2026

Hortonworks Data Platform (HDP) 3.0.1 mencakup Hadoop 3.1.1, yang secara native mendukung Object Storage Service (OSS). Versi HDP sebelumnya tidak mendukung fitur ini. Panduan ini menjelaskan cara menambahkan dukungan OSS ke kluster HDP 2.6.1.0 dengan menginstal JAR connector OSS, mengonfigurasi pengaturan sistem file Hadoop, serta memverifikasi konektivitas menggunakan pekerjaan MapReduce.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Kluster HDP 2.6.1.0. Jika belum tersedia, buatlah menggunakan salah satu metode berikut:

    • Ambari — untuk pembuatan kluster melalui antarmuka manajemen

    • Pengaturan manual — jika Ambari tidak tersedia di lingkungan Anda

  • Akses sudo pada semua node kluster

  • Bucket OSS beserta titik akhirnya. Untuk format titik akhir, lihat Regions and endpoints.

  • ID AccessKey dan Rahasia AccessKey dengan izin baca/tulis pada bucket tersebut

Instal JAR connector OSS

  1. Unduh paket connector OSS untuk HDP 2.6.1.0.

  2. Ekstrak arsip tersebut:

       sudo tar -xvf hadoop-oss-hdp-2.6.1.0-129.tar

    Direktori hasil ekstraksi berisi file-file berikut:

       hadoop-oss-hdp-2.6.1.0-129/
       hadoop-oss-hdp-2.6.1.0-129/hadoop-aliyun-2.7.3.2.6.1.0-129.jar
       hadoop-oss-hdp-2.6.1.0-129/aliyun-sdk-oss-3.4.1.jar
       hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-core-3.4.0.jar
       hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-ecs-4.2.0.jar
       hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-ram-3.0.0.jar
       hadoop-oss-hdp-2.6.1.0-129/aliyun-java-sdk-sts-3.0.0.jar
       hadoop-oss-hdp-2.6.1.0-129/jdom-1.1.jar
  3. Pindahkan hadoop-aliyun-2.7.3.2.6.1.0-129.jar ke direktori klien Hadoop:

       sudo mv hadoop-oss-hdp-2.6.1.0-129/hadoop-aliyun-2.7.3.2.6.1.0-129.jar \
         /usr/hdp/current/hadoop-client/

    Verifikasi bahwa file tersebut sudah berada di lokasi yang benar:

       sudo ls -lh /usr/hdp/current/hadoop-client/hadoop-aliyun-2.7.3.2.6.1.0-129.jar

    Output yang diharapkan:

       -rw-r--r-- 1 root root 64K Oct 28 20:56 /usr/hdp/current/hadoop-client/hadoop-aliyun-2.7.3.2.6.1.0-129.jar
  4. Pindahkan semua file JAR lainnya ke direktori lib klien Hadoop:

       sudo mv hadoop-oss-hdp-2.6.1.0-129/aliyun-*.jar \
         hadoop-oss-hdp-2.6.1.0-129/jdom-1.1.jar \
         /usr/hdp/current/hadoop-client/lib/

    Verifikasi bahwa file-file tersebut sudah berada di lokasi yang benar:

       sudo ls -ltrh /usr/hdp/current/hadoop-client/lib

    Output harus mencakup entri seperti berikut:

       -rw-r--r-- 1 root root 114K Oct 28 20:56 aliyun-java-sdk-core-3.4.0.jar
       -rw-r--r-- 1 root root 513K Oct 28 20:56 aliyun-sdk-oss-3.4.1.jar
       -rw-r--r-- 1 root root  13K Oct 28 20:56 aliyun-java-sdk-sts-3.0.0.jar
       -rw-r--r-- 1 root root 211K Oct 28 20:56 aliyun-java-sdk-ram-3.0.0.jar
       -rw-r--r-- 1 root root 770K Oct 28 20:56 aliyun-java-sdk-ecs-4.2.0.jar
       -rw-r--r-- 1 root root 150K Oct 28 20:56 jdom-1.1.jar
  5. Ulangi langkah 1–4 pada setiap node di kluster HDP Anda.

    Semua path yang ditampilkan dalam panduan ini (seperti /usr/hdp/current) mengacu pada tata letak default standar HDP 2.6. Sesuaikan path tersebut jika kluster Anda menggunakan direktori instalasi kustom.

Konfigurasi pengaturan OSS

Tambahkan properti berikut ke konfigurasi Hadoop Anda. Cara penerapannya bergantung pada apakah kluster Anda menggunakan Ambari.

Opsi 1: Gunakan Ambari (disarankan)

  1. Di antarmuka web Ambari, buka HDFS > Configs > Custom core-site.

  2. Tambahkan setiap properti dari tabel di bawah ini.

  3. Restart kluster saat Ambari meminta Anda melakukannya.

Opsi 2: Edit core-site.xml secara langsung

Jika kluster Anda tidak menggunakan Ambari, tambahkan properti tersebut langsung ke /etc/hadoop/conf/core-site.xml pada setiap node, lalu restart layanan yang relevan.

Properti wajib dan direkomendasikan

Salin blok XML berikut dan sesuaikan dengan lingkungan Anda. Blok ini mencakup semua properti wajib dan direkomendasikan beserta nilai default dan deskripsinya.

<property>
  <name>fs.oss.endpoint</name>
  <value>oss-cn-zhangjiakou-internal.aliyuncs.com</value>
  <description>Titik akhir wilayah OSS tempat bucket Anda berada.
  Gunakan titik akhir internal ketika kluster Anda berjalan di dalam Alibaba Cloud untuk menghindari biaya egress.</description>
</property>

<property>
  <name>fs.oss.accessKeyId</name>
  <value>YOUR_ACCESS_KEY_ID</value>
  <description>ID AccessKey yang digunakan untuk otentikasi dengan OSS.</description>
</property>

<property>
  <name>fs.oss.accessKeySecret</name>
  <value>YOUR_ACCESS_KEY_SECRET</value>
  <description>Rahasia AccessKey yang digunakan untuk otentikasi dengan OSS.</description>
</property>

<property>
  <name>fs.oss.impl</name>
  <value>org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem</value>
  <description>Kelas implementasi sistem file OSS. Jangan ubah nilai ini.</description>
</property>

<property>
  <name>fs.oss.buffer.dir</name>
  <value>/tmp/oss</value>
  <description>Direktori lokal untuk file sementara selama operasi baca/tulis OSS.</description>
</property>

<property>
  <name>fs.oss.connection.secure.enabled</name>
  <value>false</value>
  <description>Apakah akan menggunakan HTTPS untuk koneksi OSS. Atur ke false untuk traffic internal kluster
  guna menghindari overhead performa TLS. Atur ke true jika kebijakan keamanan Anda mengharuskan enkripsi dalam transit.</description>
</property>

<property>
  <name>fs.oss.connection.maximum</name>
  <value>2048</value>
  <description>Jumlah maksimum koneksi bersamaan ke OSS. Nilai default upstream adalah 32;
  tingkatkan nilainya untuk beban kerja dengan paralelisme tinggi.</description>
</property>

Ganti YOUR_ACCESS_KEY_ID dan YOUR_ACCESS_KEY_SECRET dengan kredensial aktual Anda. Untuk daftar lengkap properti yang didukung, lihat Referensi modul Hadoop-Aliyun.

Verifikasi konektivitas

Setelah me-restart kluster, jalankan perintah berikut untuk memastikan Hadoop dapat membaca dari dan menulis ke OSS. Ganti <your-bucket-name> dengan nama bucket aktual Anda.

Read test — daftar root bucket Anda:

sudo hadoop fs -ls oss://<your-bucket-name>/

Write test — membuat direktori di bucket Anda:

sudo hadoop fs -mkdir oss://<your-bucket-name>/hadoop-test

Jika kedua perintah berhasil tanpa error, connector tersebut berfungsi dengan baik. Jika muncul error otentikasi, periksa kembali nilai fs.oss.accessKeyId dan fs.oss.accessKeySecret. Jika terjadi error koneksi, verifikasi bahwa fs.oss.endpoint sesuai dengan wilayah tempat bucket Anda berada.

Jalankan pekerjaan MapReduce terhadap OSS

Sebelum menjalankan pekerjaan MapReduce, perbarui arsip MapReduce terdistribusi kluster agar menyertakan JAR connector OSS.

Langkah-langkah di bawah ini menggunakan MapReduce sebagai contoh. Untuk framework lain seperti Tez, terapkan pendekatan serupa — salin JAR connector ke arsip yang setara (misalnya, hdfs://hdp-master:8020/hdp/apps/2.6.1.0-129/tez/tez.tar.gz) dan lakukan repackaging.

Jalankan perintah berikut sebagai pengguna hdfs:

sudo su hdfs

# Unduh arsip MapReduce yang ada dari HDFS
hadoop fs -copyToLocal /hdp/apps/2.6.1.0-129/mapreduce/mapreduce.tar.gz

# Backup arsip asli
cp mapreduce.tar.gz mapreduce.tar.gz.bak

# Ekstrak arsip
tar zxf mapreduce.tar.gz

# Salin JAR connector OSS ke direktori tools/lib dalam arsip
cp /usr/hdp/current/hadoop-client/hadoop-aliyun-2.7.3.2.6.1.0-129.jar \
   hadoop/share/hadoop/tools/lib/
cp /usr/hdp/current/hadoop-client/lib/aliyun-*.jar \
   hadoop/share/hadoop/tools/lib/
cp /usr/hdp/current/hadoop-client/lib/jdom-1.1.jar \
   hadoop/share/hadoop/tools/lib/

# Repackage dan unggah arsip yang diperbarui
tar zcf mapreduce.tar.gz hadoop
hadoop fs -rm /hdp/apps/2.6.1.0-129/mapreduce/mapreduce.tar.gz
hadoop fs -copyFromLocal mapreduce.tar.gz /hdp/apps/2.6.1.0-129/mapreduce/

Verifikasi dengan TeraGen dan TeraSort

Jalankan rangkaian benchmark standar Hadoop untuk memastikan pekerjaan MapReduce dapat membaca dan menulis ke OSS secara end-to-end. Ganti <bucket-name> dengan nama bucket aktual Anda.

Hasilkan data uji dengan TeraGen:

sudo hadoop jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar \
  teragen -Dmapred.map.tasks=100 10995116 oss://<bucket-name>/1G-input

Eksekusi yang berhasil akan diakhiri dengan output seperti berikut:

18/10/28 21:35:15 INFO mapreduce.Job: Job job_1540728986531_0005 completed successfully
18/10/28 21:35:15 INFO mapreduce.Job: Counters: 36
...

Urutkan data dengan TeraSort:

sudo hadoop jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar \
  terasort -Dmapred.map.tasks=100 \
  oss://<bucket-name>/1G-input \
  oss://<bucket-name>/1G-output

Eksekusi yang berhasil akan diakhiri dengan:

18/10/28 21:43:56 INFO mapreduce.Job: Job job_1540728986531_0006 completed successfully
18/10/28 21:43:56 INFO mapreduce.Job: Counters: 54
...

Jika kedua pekerjaan selesai dengan sukses, kluster HDP 2.6.1.0 Anda telah sepenuhnya dikonfigurasi untuk menjalankan beban kerja MapReduce terhadap OSS.

Langkah selanjutnya