Topik ini menjelaskan cara menerapkan JindoSDK di lingkungan selain E-MapReduce (EMR).
Menerapkan JindoSDK
Anda dapat menerapkan JindoSDK di lingkungan selain EMR, seperti Instance ECS, layanan cloud lainnya, atau server yang dikelola sendiri. Dalam topik ini, Instance ECS digunakan. Untuk informasi lebih lanjut tentang cara terhubung ke Instance ECS, lihat bagian "Terhubung ke instance" dalam topik Buat dan Kelola Instance ECS di Konsol (Versi Ekspres).
Jalankan perintah berikut untuk mengunduh paket TAR versi tertentu.
Paket JindoSDK 6.3.4 di Linux X86 diunduh dalam topik ini.wget https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/release/6.3.4/jindosdk-6.3.4-linux.tar.gzJalankan perintah berikut untuk mengekstrak paket JAR JindoSDK:
tar zxvf jindosdk-6.3.4-linux.tar.gzKonfigurasikan variabel lingkungan.
PentingAnda harus menerapkan paket instalasi dan variabel lingkungan pada semua node yang diperlukan.
Sebagai contoh, jalankan perintah berikut untuk mengekstrak paket instalasi ke direktori
/usr/lib/jindosdk-6.3.4:export JINDOSDK_HOME=/usr/lib/jindosdk-6.3.4-linux export JINDOSDK_CONF_DIR=${JINDOSDK_HOME}/conf export PATH=${PATH}:${JINDOSDK_HOME}/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JINDOSDK_HOME}/lib/native
Modifikasi konfigurasi
Menerapkan JindoSDK menggunakan file konfigurasi Hadoop
Lakukan langkah-langkah berikut untuk mengonfigurasi kelas implementasi Object Storage Service (OSS) atau OSS-HDFS dan pasangan AccessKey.
Jalankan perintah berikut untuk mengedit file konfigurasi
core-site.xmlHadoop:vim <HADOOP_HOME>/etc/hadoop/core-site.xmlKonfigurasikan kelas implementasi OSS atau OSS-HDFS dalam file konfigurasi
core-site.xmlHadoop.<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 konfigurasi
core-site.xmlHadoop, tentukan ID AccessKey dan Rahasia AccessKey yang ingin Anda gunakan untuk mengakses bucket OSS atau OSS-HDFS yang diinginkan.<configuration> <property> <name>fs.oss.accessKeyId</name> <value>xxx</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>xxx</value> </property> </configuration>Konfigurasikan titik akhir OSS atau OSS-HDFS.
Untuk mengakses bucket OSS atau OSS-HDFS yang diinginkan, Anda harus mengonfigurasi titik akhir OSS atau OSS-HDFS. Kami merekomendasikan Anda menentukan jalur akses dalam format
oss://<Bucket>.<Endpoint>/<Object>. Contoh:oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt. Setelah Anda menentukan jalur akses, JindoSDK mengakses OSS atau OSS-HDFS dari titik akhir yang ditentukan dalam jalur tersebut. Anda juga dapat menentukan titik akhir default dalam format sederhana berikut:oss://<Bucket>/<Object>. Contoh:oss://examplebucket/exampleobject.txt.<configuration> <property> <name>fs.oss.endpoint</name> <value>xxx</value> </property> </configuration>Untuk informasi lebih lanjut, lihat referensi berikut:
Menerapkan JindoSDK menggunakan file konfigurasi selain file konfigurasi Hadoop
Saat menggunakan komponen non-Hadoop, seperti JindoFuse atau Jindo CLI, JindoSDK mengakses direktori tempat variabel lingkungan JINDOSDK_CONF_DIR berada untuk membaca file konfigurasi.
File konfigurasi
Gunakan file konfigurasi dalam format .ini. Dalam contoh ini, nama file konfigurasi setelah kompilasi adalah jindosdk.cfg. Kode berikut menunjukkan item konfigurasi dalam file konfigurasi:
[common]
logger.dir = /tmp/jindosdk-log
[jindosdk]
# Titik akhir Bucket OSS yang dibuat. Sebagai contoh, jika Bucket OSS dibuat di wilayah China (Hangzhou), titik akhirnya adalah oss-cn-hangzhou.aliyuncs.com.
# Titik akhir Bucket OSS-HDFS yang dibuat. Sebagai contoh, jika Bucket OSS-HDFS dibuat di wilayah China (Hangzhou), titik akhirnya adalah cn-hangzhou.oss-dls.aliyuncs.com.
fs.oss.endpoint = <your_Endpoint>
# ID AccessKey dan Rahasia AccessKey yang ingin Anda gunakan untuk mengakses OSS. Akun Alibaba Cloud memiliki izin untuk memanggil semua Operasi API. Jika pasangan AccessKey akun Alibaba Cloud Anda bocor, data Anda mungkin terpapar pada risiko keamanan tinggi. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil Operasi API atau melakukan O&M rutin. Untuk membuat pengguna RAM, masuk ke Konsol Resource Access Management (RAM).
fs.oss.accessKeyId = <your_AccessKey_id>
fs.oss.accessKeySecret = <your_AccessKey_secret>Akses OSS atau OSS-HDFS tanpa kata sandi
Sebelum mengakses OSS atau OSS-HDFS tanpa kata sandi, pastikan Anda menggunakan Instance ECS yang telah diberi Peran RAM yang diperlukan. Untuk informasi lebih lanjut, lihat Gunakan Peran RAM Instance untuk Mengontrol Akses ke Sumber Daya.
Contoh kode:
[common]
logger.dir = /tmp/jindosdk-log
[jindosdk]
# Titik akhir Bucket OSS yang dibuat. Sebagai contoh, jika Bucket OSS dibuat di wilayah China (Hangzhou), titik akhirnya adalah oss-cn-hangzhou.aliyuncs.com.
# Titik akhir Bucket OSS-HDFS yang dibuat. Sebagai contoh, jika Bucket OSS-HDFS dibuat di wilayah China (Hangzhou), titik akhirnya adalah cn-hangzhou.oss-dls.aliyuncs.com.
fs.oss.endpoint = <your_Endpoint>
fs.oss.provider.endpoint = ECS_ROLE
fs.oss.provider.format = JSON