OSS-HDFS (JindoFS) sepenuhnya kompatibel dengan operasi API Hadoop Distributed File System (HDFS) dan mendukung operasi tingkat direktori. JindoSDK memungkinkan aplikasi komputasi dan analisis berbasis Apache Hadoop, seperti MapReduce, Hive, Spark, dan Flink, untuk mengakses HDFS. Topik ini menjelaskan cara menerapkan JindoSDK pada instance Elastic Compute Service (ECS) dan melakukan operasi umum terkait OSS-HDFS.
Jika Anda menggunakan kluster Alibaba Cloud E-MapReduce (EMR), hubungkan kluster EMR ke OSS-HDFS dengan menggunakan metode yang dijelaskan di Hubungkan kluster EMR ke OSS-HDFS.
Prasyarat
Secara default, akun Alibaba Cloud memiliki izin untuk menghubungkan kluster non-EMR ke OSS-HDFS dan melakukan operasi umum terkait OSS-HDFS. Akun Alibaba Cloud atau pengguna RAM yang diberi izin yang diperlukan telah dibuat. Jika Anda ingin menggunakan pengguna RAM untuk menghubungkan kluster non-EMR ke OSS-HDFS, pengguna RAM harus memiliki izin yang diperlukan. Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM untuk menghubungkan kluster non-EMR ke OSS-HDFS.
Sebuah instance ECS telah dibuat. Untuk informasi lebih lanjut, lihat Buat sebuah instance.
Lingkungan Hadoop telah dibuat. Untuk informasi lebih lanjut tentang cara menginstal Hadoop, lihat Langkah 2: Buat lingkungan runtime Hadoop.
OSS-HDFS telah diaktifkan untuk bucket dan izin telah diberikan kepada peran RAM untuk mengakses OSS-HDFS. Untuk informasi lebih lanjut, lihat Aktifkan OSS-HDFS dan berikan izin akses.
Tutorial video
Video berikut memberikan contoh tentang cara menghubungkan kluster non-EMR ke OSS-HDFS dan melakukan operasi umum.
Prosedur
Hubungkan ke instance ECS. Untuk informasi lebih lanjut, lihat Hubungkan ke instance.
Unduh dan ekstrak paket JAR JindoSDK. Untuk mengunduh JindoSDK, kunjungi GitHub.
Jalankan perintah berikut untuk mengekstrak paket JAR JindoSDK:
Kode sampel berikut memberikan contoh tentang cara mengekstrak paket JAR JindoSDK bernama
jindosdk-x.x.x-linux.tar.gz. Jika Anda menggunakan versi lain dari JindoSDK, ganti nama paket dengan nama paket JAR JindoSDK yang sesuai.tar zxvf jindosdk-x.x.x-linux.tar.gzCatatanx.x.x menunjukkan nomor versi paket JAR JindoSDK.
Konfigurasikan variabel lingkungan.
Konfigurasikan
JINDOSDK_HOME.Kode sampel berikut memberikan contoh tentang cara mengekstrak paket ke direktori /usr/lib/jindosdk-x.x.x-linux:
export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linuxKonfigurasikan
HADOOP_CLASSPATH.export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*PentingTentukan direktori instalasi paket dan konfigurasikan variabel lingkungan di semua node yang diperlukan.
Konfigurasikan kelas implementasi OSS-HDFS dan tentukan pasangan AccessKey yang ingin Anda gunakan untuk mengakses bucket.
Jalankan perintah berikut untuk masuk ke file konfigurasi Hadoop bernama core-site.xml:
vim /usr/local/hadoop/etc/hadoop/core-site.xmlKonfigurasikan kelas implementasi DLS JindoSDK dalam file core-site.xml.
<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>Dalam file core-site.xml, konfigurasikan pasangan AccessKey dari akun Alibaba Cloud atau pengguna RAM yang memiliki izin yang diperlukan.
Untuk informasi lebih lanjut tentang izin yang harus dimiliki pengguna RAM dalam skenario ini, lihat Berikan izin kepada pengguna RAM untuk menghubungkan kluster non-EMR ke OSS-HDFS.
<configuration> <property> <name>fs.oss.accessKeyId</name> <value>xxx</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>xxx</value> </property> </configuration>
Tentukan titik akhir OSS-HDFS.
Anda harus menentukan titik akhir OSS-HDFS jika Anda ingin menggunakan OSS-HDFS untuk mengakses bucket OSS. Kami merekomendasikan Anda mengonfigurasi jalur akses dalam format berikut:
oss://<Bucket>.<Endpoint>/<Object>. Contoh:oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt. Setelah Anda mengonfigurasi jalur akses, JindoSDK memanggil operasi OSS-HDFS yang sesuai berdasarkan titik akhir yang ditentukan dalam jalur akses.Anda juga dapat mengonfigurasi titik akhir OSS-HDFS dengan menggunakan metode lain. Titik akhir yang dikonfigurasi dengan menggunakan metode berbeda memiliki prioritas berbeda. Untuk informasi lebih lanjut, lihat Lampiran 1: Metode lain yang digunakan untuk mengonfigurasi titik akhir OSS-HDFS.
Jalankan perintah Shell HDFS untuk melakukan operasi umum yang terkait dengan OSS-HDFS.
Unggah file lokal
Jalankan perintah berikut untuk mengunggah file lokal bernama examplefile.txt di direktori root lokal ke bucket bernama examplebucket:
hdfs dfs -put examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/Unduh objek
Jalankan perintah berikut untuk mengunduh objek bernama exampleobject.txt dari bucket bernama examplebucket ke direktori root bernama /tmp di komputer Anda:
hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt /tmp/
Untuk informasi lebih lanjut, lihat Gunakan perintah Shell Hadoop untuk mengakses OSS-HDFS.