Setelah otorisasi Hadoop Distributed File System (HDFS) diaktifkan, hanya pengguna dengan izin yang sesuai yang dapat mengakses HDFS dan melakukan operasi seperti membaca data serta membuat folder. Topik ini menjelaskan cara mengaktifkan otorisasi HDFS.
Informasi latar belakang
Hadoop menyediakan mode berikut untuk menentukan identitas pengguna:
Mode Sederhana: Identitas pengguna ditentukan oleh sistem operasi klien yang terhubung ke HDFS. Jika klien menggunakan sistem operasi mirip UNIX, perintah
whoamidijalankan untuk menampilkan nama pengguna logon.Mode Kerberos: Identitas pengguna klien ditentukan oleh kredensial Kerberos-nya.
Anda dapat mengaktifkan Otentikasi Kerberos saat membuat kluster E-MapReduce (EMR). Untuk informasi lebih lanjut tentang otentikasi Kerberos, lihat Kerberos.
Prasyarat
Kluster EMR telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster.
Prosedur
Untuk kluster yang diterapkan dalam mode Kerberos, izin HDFS secara otomatis ditentukan (dengan umask disetel ke 027). Anda tidak perlu mengonfigurasi otorisasi HDFS atau memulai ulang layanan HDFS.
Untuk kluster yang tidak diterapkan dalam mode Kerberos, Anda harus melakukan langkah-langkah berikut untuk mengonfigurasi otorisasi HDFS dan memulai ulang layanan HDFS.
Pergi ke tab Layanan.
Masuk ke konsol EMR. Di panel navigasi sebelah kiri, klik EMR on ECS.
Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih grup sumber daya sesuai kebutuhan bisnis Anda.
Di halaman EMR on ECS, temukan kluster yang diinginkan dan klik Services di kolom Tindakan.
Di tab Services, temukan layanan HDFS dan klik Configure.
Di tab Configure, modifikasi parameter sesuai kebutuhan bisnis Anda.
Parameter
Deskripsi
dfs.permissions.enabled
Menentukan apakah akan mengaktifkan pemeriksaan izin. Nilai default: false.
Untuk mengaktifkan pemeriksaan izin, atur parameter ini ke true.
dfs.datanode.data.dir.perm
Izin pada direktori penyimpanan lokal untuk DataNodes.
fs.permissions.umask-mode
Topeng izin. Ini adalah pengaturan default yang ditentukan saat Anda membuat file atau folder.
dfs.namenode.acls.enabled
Menentukan apakah akan mengaktifkan daftar kontrol akses (ACL). Nilai default: false. Untuk mengaktifkan ACL, atur parameter ini ke true. Kemudian, Anda dapat mengelola izin pemilik, grup pengguna, dan pengguna lainnya.
Perintah yang digunakan untuk mengonfigurasi ACL termasuk
hadoop fs -getfacl [-R] <path>danhadoop fs -setfacl [-R] [-b |-k -m |-x <acl_spec> <path>] |[--set <acl_spec> <path>].dfs.permissions.superusergroup
Nama grup superuser. Nilai default: hadoop. Semua pengguna dalam grup ini adalah superuser.
Simpan modifikasi.
Klik Save di bagian bawah halaman.
Di kotak dialog yang muncul, konfigurasikan parameter Alasan Eksekusi dan klik Save.
Mulai ulang layanan HDFS.
Di sudut kanan atas halaman layanan HDFS, pilih .
Di kotak dialog yang muncul, konfigurasikan parameter Execution Reason dan klik OK.
Di pesan Confirm, klik OK.
Anda dapat mengklik Operation History di sudut kanan atas tab Layanan untuk melihat kemajuan tugas.
Contoh
Masuk ke kluster Anda dalam mode SSH. Untuk informasi lebih lanjut, lihat Masuk ke Kluster.
Jalankan perintah berikut untuk beralih ke pengguna emrtest yang dibuat:
su emrtestJalankan perintah berikut untuk menggunakan pengguna emrtest membuat direktori:
hadoop fs -mkdir /tmp/emrtestJalankan perintah berikut untuk melihat izin direktori yang dibuat:
hadoop fs -ls /tmpInformasi serupa dengan output berikut dikembalikan:
drwxr-x--x - emrtest hadoop 0 2022-10-21 14:08 /tmp/emrtest drwxr-x--x - hadoop hadoop 0 2022-10-21 10:06 /tmp/hadoop-yarn drwx-wx-wx - hive hadoop 0 2022-10-21 10:13 /tmp/hive drwxr-x--x - hadoop hadoop 0 2022-10-21 10:23 /tmp/kyuubi-staging drwxrwxrwt - hadoop hadoop 0 2022-10-21 10:23 /tmp/logsJalankan perintah berikut untuk mengonfigurasi ACL untuk direktori dan memberikan Pengguna foo izin rwx:
hadoop fs -setfacl -m user:foo:rwx /tmp/emrtestJalankan perintah berikut untuk melihat izin direktori:
hadoop fs -ls /tmp/Informasi serupa dengan output berikut dikembalikan:
drwxrwx--x+ - emrtest hadoop 0 2022-10-21 14:08 /tmp/emrtest drwxr-x--x - hadoop hadoop 0 2022-10-21 10:06 /tmp/hadoop-yarn drwx-wx-wx - hive hadoop 0 2022-10-21 10:13 /tmp/hive drwxr-x--x - hadoop hadoop 0 2022-10-21 10:23 /tmp/kyuubi-staging drwxrwxrwt - hadoop hadoop 0 2022-10-21 10:23 /tmp/logsCatatanJika tanda tambah (+) mengikuti izin, ACL telah dikonfigurasi. Contoh: drwxrwx--x+.
Jalankan perintah berikut untuk melihat ACL:
hadoop fs -getfacl /tmp/emrtestInformasi serupa dengan output berikut dikembalikan:
# file: /tmp/emrtest # owner: emrtest # group: hadoop user::rwx user:foo:rwx group::r-x mask::rwx other::--x