OSS-HDFS adalah layanan penyimpanan cloud-native untuk data lake yang menyediakan manajemen metadata terpadu dan sepenuhnya kompatibel dengan API HDFS, serta menawarkan dukungan POSIX yang komprehensif. Layanan ini ideal untuk beban kerja data lake dalam bidang data besar dan AI. Topik ini menjelaskan cara menggunakan Hadoop untuk mengakses OSS-HDFS melalui JindoSDK.
Prasyarat
Anda telah mengaktifkan OSS-HDFS untuk sebuah bucket dan memiliki izin untuk mengaksesnya. Untuk informasi selengkapnya, lihat Enable OSS-HDFS.
Ikhtisar
Anda dapat menggunakan OSS-HDFS dengan aplikasi data besar Hadoop dan Spark yang sudah ada tanpa perlu melakukan modifikasi apa pun. Setelah konfigurasi sederhana, Anda dapat mengelola dan mengakses data seperti pada HDFS native, sekaligus memanfaatkan keunggulan OSS, termasuk kapasitas hampir tak terbatas, skalabilitas elastis, serta keamanan, keandalan, dan ketersediaan yang lebih baik.
Sebagai fondasi bagi data lake cloud-native, OSS-HDFS mampu mengelola data dalam skala exabyte dan miliaran file sambil memberikan throughput tingkat terabyte. Layanan ini terintegrasi penuh dengan ekosistem penyimpanan data besar. Selain namespace datar yang umum pada penyimpanan objek, OSS-HDFS menyediakan namespace hierarkis yang memungkinkan Anda mengatur objek ke dalam struktur direktori. Layanan ini secara otomatis menangani konversi antar-namespace melalui manajemen metadata terpadunya. Berbeda dengan redundansi aktif-standby pada NameNode HDFS tradisional, OSS-HDFS menggunakan mekanisme redundansi multi-node aktif-aktif untuk manajemen metadata, sehingga memberikan ketahanan data yang lebih unggul. Pengguna Hadoop dapat mengakses data seefisien akses lokal pada HDFS tanpa replikasi atau konversi data, yang secara signifikan meningkatkan performa pekerjaan dan mengurangi biaya maintenance.
Untuk informasi lebih lanjut mengenai kasus penggunaan, karakteristik layanan, dan fitur OSS-HDFS, lihat What is OSS-HDFS?
Langkah 1: Buat VPC dan tambahkan instans ECS
-
Buat VPC untuk mengizinkan akses ke OSS-HDFS melalui jaringan internal.
-
Masuk ke VPC console.
-
Pada halaman VPC, klik Create VPC.
Pastikan VPC berada di Wilayah yang sama dengan bucket tempat Anda mengaktifkan OSS-HDFS. Untuk informasi selengkapnya tentang cara membuat VPC, lihat Create a VPC and a vSwitch.
-
-
Tambahkan instans ECS.
-
Klik ID VPC yang telah Anda buat, lalu klik tab Resource Management.
-
Pada bagian Cloud Resources, klik ikon
di samping ECS. -
Pada halaman Instances, buat instans ECS.
Saat membuat instans ECS, pastikan instans tersebut berada di Wilayah yang sama dengan VPC yang telah Anda buat. Untuk informasi selengkapnya tentang cara membuat instans ECS, lihat Create an instance.
-
Langkah 2: Siapkan lingkungan runtime Hadoop
-
Instal lingkungan Java.
-
Untuk instans ECS yang telah Anda buat, klik Connect di kolom Actions.
Untuk informasi selengkapnya tentang cara membuat koneksi jarak jauh ke instans ECS, lihat Connection methods.
-
Periksa versi Java Development Kit (JDK).
java -version -
Opsional:Copot pemasangan JDK jika versinya lebih lama dari 1.8.0.
rpm -qa | grep java | xargs rpm -e --nodeps -
Instal Java.
sudo yum install java-1.8.0-openjdk* -y -
Jalankan perintah berikut untuk membuka file konfigurasi profil.
vim /etc/profile -
Tambahkan variabel lingkungan.
Jika Anda menerima error "path does not exist", navigasikan ke direktori /usr/lib/jvm/ untuk mencari file java-1.8.0-openjdk.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar export PATH=$PATH:$JAVA_HOME/bin -
Terapkan variabel lingkungan.
source /etc/profile
-
-
Aktifkan layanan SSH.
-
Instal layanan SSH.
sudo yum install -y openssh-clients openssh-server -
Aktifkan dan jalankan layanan SSH.
systemctl enable sshd && systemctl start sshd -
Buat kunci SSH dan tambahkan ke daftar authorized keys.
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
-
-
Instal Hadoop.
-
Unduh paket instalasi Hadoop.
Contoh ini menggunakan Hadoop 3.4.0. Jika Anda menggunakan versi berbeda, ganti nama paket sesuai versi tersebut. Untuk mencari paket instalasi Hadoop, kunjungi halaman Apache Hadoop releases.
wget https://downloads.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz -
Ekstrak paket instalasi.
tar xzf hadoop-3.4.0.tar.gz -
Pindahkan paket ke lokasi umum.
mv hadoop-3.4.0 /usr/local/hadoop -
Konfigurasikan variabel lingkungan.
-
Konfigurasikan variabel lingkungan Hadoop.
vim /etc/profile export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$PATH source /etc/profile -
Perbarui HADOOP_HOME dalam file konfigurasi Hadoop.
cd $HADOOP_HOME vim etc/hadoop/hadoop-env.sh -
Ganti ${JAVA_HOME} dengan path aktual.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
-
-
Opsional:Jika direktori tidak ada, jalankan perintah berikut untuk menerapkan variabel lingkungan baru.
cd $HADOOP_HOME/etc/hadoop -
Perbarui file konfigurasi core-site.xml dan hdfs-site.xml.
-
Perbarui file core-site.xml dengan properti berikut.
<configuration> <!-- Tentukan alamat NameNode di HDFS. --> <property> <name>fs.defaultFS</name> <!-- Ganti nilai dengan hostname atau localhost Anda. --> <value>hdfs://localhost:9000</value> </property> <!-- Ubah direktori temporary Hadoop ke direktori kustom. --> <property> <name>hadoop.tmp.dir</name> <!-- Sebagai pengguna admin, berikan izin ke direktori dengan menjalankan sudo chown -R admin:admin /opt/module/hadoop-3.4.0 --> <value>/opt/module/hadoop-3.4.0/data/tmp</value> </property> </configuration> -
Perbarui file hdfs-site.xml dengan properti berikut.
<configuration> <!-- Tentukan jumlah replika HDFS. --> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
-
-
Format NameNode.
hdfs namenode -format -
Jalankan HDFS.
Menjalankan HDFS melibatkan proses menjalankan NameNode, DataNode, dan Secondary NameNode.
-
Jalankan proses daemon HDFS:
cd /usr/local/hadoop/ sbin/start-dfs.sh -
Periksa proses Java yang sedang berjalan.
jpsHasil berikut dikembalikan:

Proses daemon HDFS kini sedang berjalan. Anda dapat mengakses UI web HDFS di http://{ip}:9870 untuk melihat informasi detail.
-
-
-
Verifikasi instalasi Hadoop.
Jalankan perintah hadoop version. Jika informasi versi dikembalikan, instalasi berhasil.
Langkah 3: Konfigurasikan JindoSDK untuk mengakses OSS-HDFS
-
Unduh paket JAR JindoSDK.
-
Pindah ke direktori target.
cd /usr/lib/ -
Unduh versi terbaru paket JAR JindoSDK. Untuk tautan unduhan, lihat GitHub.
-
Ekstrak paket JAR JindoSDK.
tar zxvf jindosdk-x.x.x-linux.tar.gzCatatanx.x.x menunjukkan nomor versi paket JAR JindoSDK.
-
-
Konfigurasikan variabel lingkungan.
-
Edit file konfigurasi profil.
vim /etc/profile -
Atur variabel lingkungan JINDOSDK_HOME.
export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux -
Konfigurasikan HADOOP_CLASSPATH.
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/* -
Jalankan perintah berikut untuk menerapkan konfigurasi baru.
. /etc/profile
-
-
Konfigurasikan kelas implementasi JindoSDK dan AccessKey.
-
Tambahkan kelas implementasi JindoSDK ke file core-site.xml Hadoop.
<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 Anda yang telah diaktifkan 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 OSS-HDFS.
Anda harus mengonfigurasi endpoint untuk mengakses OSS-HDFS. Format URI yang direkomendasikan adalah
oss://<Bucket>.<Endpoint>/<Object>, contohnyaoss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt. Setelah dikonfigurasi, JindoSDK menggunakan endpoint dalam path akses untuk memanggil API OSS-HDFS yang sesuai.Anda juga dapat mengonfigurasi endpoint OSS-HDFS dengan metode lain. Untuk informasi selengkapnya, lihat Other methods to configure an endpoint.
Langkah 4: Akses OSS-HDFS
-
Buat direktori
hdfs dfs -mkdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/ -
Unggah objek
hdfs dfs -put /root/workspace/examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt -
Lihat informasi direktori
hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/ -
Lihat informasi objek
hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt -
Lihat konten objek
PentingPerintah ini mencetak konten objek sebagai teks biasa. Jika kontennya terenkripsi, gunakan HDFS Java API untuk membaca objek tersebut lalu dekode.
hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt -
Salin direktori atau objek
hdfs dfs -cp oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir1/ oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir2/subdir1/ -
Pindahkan direktori atau objek
hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir/ oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir/ -
Unduh objek
hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt /tmp/ -
Hapus direktori atau objek
hdfs dfs -rm oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destfolder/