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.
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
Secara default, Akun Alibaba Cloud memiliki izin untuk menghubungkan ke layanan OSS-HDFS dari kluster non-EMR dan melakukan operasi umum. Jika Anda menggunakan Pengguna Resource Access Management (RAM), pengguna RAM tersebut harus memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat Berikan izin kepada Pengguna RAM untuk menghubungkan ke layanan OSS-HDFS dari kluster non-EMR.
Sebagai contoh, jika lingkungan penerapan Anda adalah Alibaba Cloud ECS, Anda harus membeli instance ECS.
Lingkungan Hadoop telah dibuat. Untuk informasi selengkapnya, lihat Buat lingkungan runtime Hadoop.
Layanan OSS-HDFS telah diaktifkan untuk sebuah bucket, dan akses ke bucket tersebut telah diotorisasi. Untuk informasi selengkapnya, lihat Aktifkan layanan OSS-HDFS.
Prosedur
Hubungkan ke instans ECS. Untuk informasi selengkapnya, lihat Hubungkan ke instans ECS.
Unduh dan ekstrak paket JAR JindoSDK. Untuk tautan unduhan, lihat GitHub.
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.gzCatatanx.x.x menunjukkan nomor versi paket JAR JindoSDK.
Konfigurasikan variabel lingkungan.
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-linuxKonfigurasikan
HADOOP_CLASSPATH.export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*PentingTerapkan direktori instalasi dan atur variabel lingkungan pada semua node yang diperlukan.
Konfigurasikan kelas implementasi layanan OSS-HDFS dan AccessKey.
Jalankan perintah berikut untuk membuka file konfigurasi core-site.xml Hadoop.
vim /usr/local/hadoop/etc/hadoop/core-site.xmlPada 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>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>
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.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.