Topik ini menjelaskan cara menerapkan JindoSDK di kluster non-EMR, mencakup langkah-langkah untuk mengunduh JindoSDK, mengonfigurasi variabel lingkungan, dan memodifikasi file konfigurasi.
Terapkan JindoSDK
Anda dapat menerapkan JindoSDK di lingkungan non-EMR, seperti instance ECS Alibaba Cloud, layanan Alibaba Cloud lainnya, atau server on-premises. Topik ini menggunakan instance ECS Alibaba Cloud sebagai contoh. Untuk informasi selengkapnya tentang cara menyambungkan ke instance ECS, lihat Connect to an ECS instance.
Jalankan perintah berikut untuk mengunduh paket TAR versi JindoSDK tertentu.
Topik ini menggunakan versi 6.3.4 untuk platform Linux x86 sebagai contoh.
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.gzKonfigurasi variabel lingkungan.
PentingAnda harus menerapkan folder instalasi dan mengonfigurasi variabel lingkungan di semua node yang diperlukan.
Sebagai contoh, Anda dapat menjalankan 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
File konfigurasi Hadoop
Konfigurasikan kelas implementasi dan AccessKey untuk OSS atau OSS-HDFS.
Edit file konfigurasi Hadoop
core-site.xml.vim <HADOOP_HOME>/etc/hadoop/core-site.xmlTambahkan kelas implementasi untuk OSS atau OSS-HDFS ke 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>Tambahkan ID AccessKey dan rahasia AccessKey untuk bucket OSS atau OSS-HDFS ke file
core-site.xml.<configuration> <property> <name>fs.oss.accessKeyId</name> <value>xxx</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>xxx</value> </property> </configuration>Konfigurasikan Endpoint untuk layanan OSS atau OSS-HDFS.
Anda harus mengonfigurasi Endpoint untuk mengakses bucket OSS atau OSS-HDFS. Gunakan format berikut untuk jalur akses:
oss://<Bucket>.<Endpoint>/<Object>. Contohnya:oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt. Setelah konfigurasi selesai, JindoSDK menggunakan Endpoint dalam jalur akses untuk memanggil API layanan OSS atau OSS-HDFS yang sesuai. Anda juga dapat mengonfigurasi Endpoint default untuk menyederhanakan jalur akses menjadi formatoss://<Bucket>/<Object>. Contohnya:oss://examplebucket/exampleobject.txt.<configuration> <property> <name>fs.oss.endpoint</name> <value>xxx</value> </property> </configuration>Untuk informasi selengkapnya tentang metode konfigurasi, lihat topik-topik berikut:
File konfigurasi non-Hadoop
Saat menggunakan komponen di luar ekosistem Hadoop, seperti JindoFuse dan command-line interface (CLI) Jindo, JindoSDK membaca file konfigurasi dari folder yang ditentukan oleh variabel lingkungan JINDOSDK_CONF_DIR.
File konfigurasi
Gunakan file konfigurasi bergaya INI bernama jindosdk.cfg. Kode berikut memberikan contohnya.
[common]
logger.dir = /tmp/jindosdk-log
[jindosdk]
# Endpoint bucket OSS yang dibuat. Misalnya, untuk Wilayah Tiongkok (Hangzhou), masukkan oss-cn-hangzhou.aliyuncs.com.
# Endpoint bucket OSS-HDFS yang dibuat. Misalnya, untuk Wilayah Tiongkok (Hangzhou), masukkan cn-hangzhou.oss-dls.aliyuncs.com.
fs.oss.endpoint = <your_Endpoint>
# ID AccessKey dan rahasia AccessKey yang digunakan untuk mengakses OSS. AccessKey akun Alibaba Cloud memiliki izin untuk mengakses semua API. Hal ini menimbulkan ancaman keamanan tinggi. Buat dan gunakan pengguna Resource Access Management (RAM) untuk pemanggilan API atau operasi dan pemeliharaan (O&M) rutin. Untuk membuat pengguna RAM, login ke Konsol RAM.
fs.oss.accessKeyId = <your_AccessKey_id>
fs.oss.accessKeySecret = <your_AccessKey_secret> Akses tanpa kata sandi
Untuk menggunakan akses tanpa kata sandi, Anda harus menggunakan instance ECS Alibaba Cloud yang telah menyambungkan instance RAM role. Untuk informasi selengkapnya, lihat Instance RAM roles.
Kode berikut memberikan contohnya.
[common]
logger.dir = /tmp/jindosdk-log
[jindosdk]
# Endpoint bucket OSS yang dibuat. Misalnya, untuk Wilayah Tiongkok (Hangzhou), masukkan oss-cn-hangzhou.aliyuncs.com.
# Endpoint bucket OSS-HDFS yang dibuat. Misalnya, untuk Wilayah Tiongkok (Hangzhou), masukkan cn-hangzhou.oss-dls.aliyuncs.com.
fs.oss.endpoint = <your_Endpoint>
fs.oss.provider.endpoint = ECS_ROLE
fs.oss.provider.format = JSON