Topik ini menjelaskan cara mengakses JindoFileSystem (JindoFS) dalam mode bebas kata sandi dari Instance ECS (bukan instance dalam kluster EMR) saat menggunakan JindoFS SDK.
Prasyarat
1. Anda memiliki Instance ECS selain yang untuk EMR. 2. Ekosistem Hadoop digunakan. 3. JindoFS SDK untuk Java telah diperoleh.
Informasi latar belakang
Sebelum menggunakan JindoFS SDK, Anda harus menghapus paket terkait Jindo dari lingkungan Anda, seperti jboot.jar dan smartdata-aliyun-jfs-*.jar. Untuk menggunakan Spark, Anda juga harus menghapus paket tersebut di direktori /opt/apps/spark-current/jars/.
Langkah 1: Buat peran RAM instance
Masuk ke Konsol RAM dengan akun Alibaba Cloud.
Di panel navigasi sisi kiri, pilih .
Di halaman Peran RAM, klik Create Role. Di panel Buat Peran RAM, pilih Alibaba Cloud Service untuk Jenis Entitas Tepercaya.
Klik Next.
Masukkan nama peran di bidang RAM Role Name dan pilih Elastic Compute Service dari daftar drop-down Select Trusted Service.
Klik OK.
Langkah 2: Berikan izin kepada peran RAM
Masuk ke Konsol RAM dengan akun Alibaba Cloud.
Opsional. Jika tidak menggunakan izin sistem, Anda dapat membuat izin kustom. Untuk informasi lebih lanjut, lihat bagian "(Opsional) Buat Kebijakan Otorisasi Kustom" dalam Implementasikan Kontrol Akses Menggunakan RAM.
Di panel navigasi sisi kiri, pilih .
Temukan peran RAM yang dibuat dan klik Nama Peran.
Klik Precise Permission.
Di panel yang muncul, pilih System Policy atau Custom Policy untuk Tipe.
Contohnya, AliyunOSSReadOnlyAccess. Silakan pilih kebijakan yang sesuai berdasarkan kebutuhan bisnis spesifik Anda.
Masukkan nama kebijakan.
Klik OK.
Langkah 3: Ikat peran RAM ke instance ECS
Masuk ke Konsol ECS.
Di panel navigasi sisi kiri, pilih .
Di bilah navigasi atas, pilih wilayah.
Temukan instance ECS tempat Anda ingin mengikat peran RAM dan pilih di kolom Tindakan.

Di kotak dialog Ikat/Lepas Peran RAM, pilih peran RAM dan klik OK.
Langkah 4: Konfigurasikan variabel lingkungan pada ECS
Jalankan salah satu perintah berikut untuk mengonfigurasi variabel lingkungan pada ECS:
export CLASSPATH=/xx/xx/jindofs-2.5.0-sdk.jardan
HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/xx/xx/jindofs-2.5.0-sdk.jarLangkah 5: Akses JindoFS dalam mode bebas kata sandi
Gunakan Shell untuk mengakses OSS.
hdfs dfs -ls/-mkdir/-put/....... oss://<ossPath>Akses OSS dengan menggunakan antarmuka FileSystem Hadoop.
Contoh:
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.LocatedFileStatus; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.RemoteIterator; import java.net.URI; public class test { public static void main(String[] args) throws Exception { FileSystem fs = FileSystem.get(new URI("ossPath"), new Configuration()); RemoteIterator<LocatedFileStatus> iterator = fs.listFiles(new Path("ossPath"), false); while (iterator.hasNext()){ LocatedFileStatus fileStatus = iterator.next(); Path fullPath = fileStatus.getPath(); System.out.println(fullPath); } } }