Jawaban atas pertanyaan yang sering diajukan mengenai sinkronisasi pengguna Ranger di E-MapReduce.
RangerUserSync gagal menyinkronkan pengguna Linux/LDAP
-
Penyebab: Masalah ini terjadi pada versi E-MapReduce 3.23.0 dan sebelumnya.
-
Solusi: Masuk ke node emr-header-1 kluster, lalu ubah secara manual file /etc/ecm/ranger-usersync-conf/ranger-ugsync-site.xml untuk mengatur parameter ranger.usersync.enabled menjadi
true. Setelah itu, restart komponen RangerUserSync melalui Konsol EMR.
Cara menyinkronkan pengguna Unix ke Ranger
Ranger tidak mendukung penyinkronan pengguna LDAP dan Unix secara bersamaan dalam satu kluster. Metode penyinkronan pengguna Unix bergantung pada apakah OpenLDAP diterapkan di kluster Anda.
Tanpa OpenLDAP
-
Di node master kluster E-MapReduce, jalankan perintah berikut untuk menambahkan pengguna.
sudo adduser <username> -
Di Konsol EMR, buka layanan Ranger. Pada tab Status, temukan RangerUserSync dalam daftar Components, lalu klik Restart di kolom Actions.
-
Verifikasi hasil sinkronisasi.
-
Masuk ke antarmuka web Ranger. Untuk informasi selengkapnya, lihat Akses antarmuka web komponen open-source.
-
Pilih .
-
Pada tab Users, pastikan pengguna Unix baru muncul.
Sebagai contoh, pengguna
testyang dibuat pada langkah 1 kini muncul.
-
Dengan OpenLDAP
Jika OpenLDAP diterapkan di kluster Anda, Ranger secara default menyinkronkan pengguna LDAP. Untuk beralih ke penyinkronan pengguna Unix, ubah parameter Ranger berikut:
-
Di node master kluster E-MapReduce, jalankan perintah berikut untuk menambahkan pengguna.
sudo adduser <username> -
Di Konsol EMR, buka layanan Ranger. Pada tab Configure, temukan dan ubah parameter berikut:
-
Atur parameter
ranger.usersync.sync.sourcemenjadiunix. -
Atur parameter
ranger.usersync.source.impl.classmenjadiorg.apache.ranger.unixusersync.process.UnixUserGroupBuilder.
-
-
Jika diminta oleh konsol, simpan konfigurasi dan restart layanan Ranger. Setelah layanan direstart, pengguna Unix akan disinkronkan secara otomatis.
-
Verifikasi hasil sinkronisasi.
-
Masuk ke antarmuka web Ranger. Untuk informasi selengkapnya, lihat Akses antarmuka web komponen open-source.
-
Pilih .
-
Pada tab Users, pastikan pengguna Unix baru muncul.
Sebagai contoh, pengguna
testyang dibuat pada langkah 1 kini muncul.
-
Apa yang harus saya lakukan jika pekerjaan Hive on Spark memakan waktu terlalu lama karena terlalu banyak file kecil di EMR?
Ketika terdapat sejumlah besar file kecil di OSS, pemeriksaan otorisasi Ranger terhadap OSS secara signifikan meningkatkan latensi, sehingga memengaruhi kinerja HiveServer2.
Solusi 1: Nonaktifkan otorisasi OSS Ranger
-
Masuk ke Konsol EMR dan buka halaman detail kluster.
-
Pada tab Cluster Services, temukan layanan
Ranger-plugin. -
Klik tab Status layanan
Ranger-pluginuntuk membuka bagian Service Overview. -
Di bagian Service Overview, temukan sakelar
enableOSSdan nonaktifkan. -
Restart komponen resident seperti
HiveServer2dan SparkThriftServer.
Solusi 2: Optimalkan parameter penggabungan file kecil Hive
Dalam konfigurasi layanan Hive, atur parameter berikut:
-
hive.merge.mapfiles=true(mengaktifkan penggabungan file kecil pada tahap Map) -
hive.merge.mapredfiles=true(mengaktifkan penggabungan file kecil pada tahap Reduce) -
hive.merge.size.per.task=256000000(ukuran target file setelah digabung)
Apa yang harus saya lakukan jika terjadi pengecualian SSL selama inisialisasi Ranger?
Gejala
Saat Anda menggunakan database MySQL atau MariaDB yang dikelola sendiri sebagai database metadata Ranger dan SSL diaktifkan pada database (have_ssl=YES), inisialisasi (setup) Ranger gagal dengan error javax.net.ssl.SSLException. Contoh pesan error yang umum adalah javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate).
Penyebab
Secara default, Ranger menggunakan driver mysql-connector-java versi 5.1.47, yang tidak kompatibel dengan protokol handshake SSL MariaDB. Ketidakcocokan ini menyebabkan negosiasi TLS gagal dan memicu SSLHandshakeException, yaitu subkelas dari SSLException. Saat SSL dinonaktifkan, driver ini dapat terhubung ke database sebagaimana mestinya, sehingga Anda tidak perlu menggantinya dengan konektor MySQL 8.x.
Solusi
Nonaktifkan SSL dalam konfigurasi koneksi database Ranger:
-
Masuk ke node master kluster EMR Anda.
-
Di direktori instalasi Ranger, buka file
install.propertiesdan aturdb_ssl_enabled=false. -
Ubah URL JDBC agar menyertakan parameter
useSSL=false:jdbc:mysql://<host>:<port>/ranger?useSSL=false -
Buka file
ranger-admin-site.xmldan atur propertiranger.jpa.jdbc.urlke nilai berikut:jdbc:log4jdbc:mysql://<host>:<port>/ranger?useSSL=false -
Jalankan ulang setup Ranger. Anda tidak perlu merestart database.
Menonaktifkan SSL mengurangi keamanan koneksi database. Gunakan solusi ini hanya di lingkungan pengujian. Untuk lingkungan produksi, evaluasi dampak keamanannya sebelum menerapkan perubahan ini.