OSS-HDFS mendukung RootPolicy. Anda dapat menggunakan RootPolicy untuk mengonfigurasi awalan kustom pada OSS-HDFS, sehingga pekerjaan dapat berjalan tanpa perlu mengubah awalan akses asli hdfs://.
Prasyarat
Lingkungan Hadoop, kluster Hadoop, atau klien Hadoop telah dibuat. Untuk informasi lebih lanjut tentang cara menginstal Hadoop, lihat Langkah 2: Buat lingkungan runtime Hadoop.
OSS-HDFS diaktifkan untuk bucket tertentu. Untuk informasi lebih lanjut, lihat Aktifkan OSS-HDFS dan berikan izin akses.
JindoSDK versi 4.5.0 atau yang lebih baru telah diinstal dan dikonfigurasi. Untuk informasi lebih lanjut, lihat Hubungkan kluster non-EMR ke OSS-HDFS.
Prosedur
Konfigurasikan variabel lingkungan.
Hubungkan ke Instance ECS. Untuk informasi lebih lanjut, lihat Hubungkan ke Instance ECS.
Buka direktori bin dari paket JAR JindoSDK yang terinstal.
cd jindosdk-x.x.x/bin/Catatanx.x.x menunjukkan nomor versi paket JAR JindoSDK.
Buat file konfigurasi bernama
jindosdk.cfg, lalu tambahkan parameter berikut ke dalamnya:[common] Pertahankan konfigurasi default berikut. logger.dir = /tmp/jindo/ logger.sync = false logger.consolelogger = false logger.level = 0 logger.verbose = 0 logger.cleaner.enable = true hadoopConf.enable = false [jindosdk] Tentukan parameter berikut. <!-- Dalam contoh ini, wilayah China (Hangzhou) digunakan. Tentukan wilayah sebenarnya Anda. --> fs.oss.endpoint = cn-hangzhou.oss-dls.aliyuncs.com <! -- Konfigurasikan ID AccessKey dan Rahasia AccessKey yang digunakan untuk mengakses OSS-HDFS. --> fs.oss.accessKeyId = yourAccessKeyId fs.oss.accessKeySecret = yourAccessKeySecretTetapkan variabel lingkungan.
export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>Atur <JINDOSDK_CONF_DIR> ke jalur absolut dari file konfigurasi
jindosdk.cfg.
Konfigurasikan RootPolicy.
Jalankan perintah SetRootPolicy berikut untuk menentukan alamat terdaftar yang berisi awalan kustom untuk bucket:
jindo admin -setRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/Tabel berikut menjelaskan parameter dalam perintah SetRootPolicy:
Parameter
Deskripsi
bucket_name
Nama bucket tempat OSS-HDFS diaktifkan.
dls_endpoint
Titik akhir wilayah tempat bucket untuk OSS-HDFS diaktifkan. Contoh:
cn-hangzhou.oss-dls.aliyuncs.com.Jika Anda tidak ingin menambahkan parameter <dls_endpoint> ke perintah SetRootPolicy setiap kali menjalankan RootPolicy, Anda dapat menggunakan salah satu metode berikut untuk menambahkan item konfigurasi ke file
core-site.xmlHadoop:Metode 1:
<configuration> <property> <name>fs.oss.endpoint</name> <value><dls_endpoint></value> </property> </configuration>Metode 2:
<configuration> <property> <name>fs.oss.bucket.<bucket_name>.endpoint</name> <value><dls_endpoint></value> </property> </configuration>
your_ns_name
Nama ns kustom yang digunakan untuk mengakses OSS-HDFS. String non-kosong didukung, seperti
test. Versi saat ini hanya mendukung direktori root.Konfigurasikan alamat penemuan Kebijakan Akses dan kelas implementasi Skema.
Tambahkan parameter berikut ke file core-site.xml Hadoop:
<configuration> <property> <name>fs.accessPolicies.discovery</name> <value>oss://<bucket_name>.<dls_endpoint>/</value> </property> <property> <name>fs.AbstractFileSystem.hdfs.impl</name> <value>com.aliyun.jindodata.hdfs.HDFS</value> </property> <property> <name>fs.hdfs.impl</name> <value>com.aliyun.jindodata.hdfs.JindoHdfsFileSystem</value> </property> </configuration>Untuk mengonfigurasi alamat penemuan Kebijakan Akses dan kelas implementasi Skema untuk beberapa bucket, pisahkan bucket dengan koma (
,).Jalankan perintah berikut untuk memeriksa apakah RootPolicy berhasil dikonfigurasi:
hadoop fs -ls hdfs://<your_ns_name>/Jika hasil berikut ditampilkan, RootPolicy berhasil dikonfigurasi:
drwxr-x--x - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/apps drwxrwxrwx - spark hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/spark-history drwxrwxrwx - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/tmp drwxrwxrwx - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/userGunakan awalan kustom untuk mengakses OSS-HDFS.
Setelah memulai ulang layanan seperti Hive dan Spark, Anda dapat mengakses OSS-HDFS menggunakan awalan kustom.
Opsional. Gunakan RootPolicy untuk tujuan lain.
Daftarkan semua alamat terdaftar yang berisi awalan kustom untuk bucket.
Jalankan perintah listAccessPolicies berikut untuk mendaftarkan semua alamat terdaftar yang berisi awalan kustom untuk bucket:
jindo admin -listAccessPolicies oss://<bucket_name>.<dls_endpoint>/Hapus semua alamat terdaftar yang berisi awalan kustom untuk bucket:
Jalankan perintah unsetRootPolicy berikut untuk menghapus semua alamat terdaftar yang berisi awalan kustom untuk bucket:
jindo admin -unsetRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/
Referensi
Untuk informasi lebih lanjut tentang perintah RootPolicy, lihat Panduan pengguna CLI Jindo.