Topik ini menjelaskan cara mengonfigurasi Knox pada E-MapReduce untuk mengakses antarmuka web (web UI) layanan seperti HDFS, YARN, Spark, dan Ganglia melalui jaringan publik.
Prasyarat
Anda telah membuat kluster E-MapReduce dengan layanan Knox yang dipilih. Untuk informasi selengkapnya, lihat Create a cluster.
Jika Anda tidak memilih layanan Knox saat membuat kluster, Anda dapat menambahkannya. Untuk informasi selengkapnya, lihat Add services.
Persiapan
Konfigurasikan akses security group
-
Dapatkan Alamat IP publik perangkat Anda saat ini.
Untuk mengakses komponen kluster secara aman, izinkan akses hanya dari Alamat IP publik perangkat Anda saat ini ketika mengonfigurasi aturan grup keamanan. Kunjungi IP Address untuk melihat Alamat IP publik Anda saat ini.
-
Tambahkan port:
Topik ini menggunakan port 8443 sebagai contoh.
-
Di Konsol E-MapReduce, pada halaman Basic Information kluster Anda, buka bagian Security dan klik tautan di samping Cluster Security Group.
-
Di halaman Security Group, pada tab Inbound, klik Add Rule.
-
Atur Authorization Object ke Alamat IP publik yang Anda peroleh pada langkah sebelumnya dan atur Port Range ke 8443/8443 .
-
Klik Save.
-
-
Untuk mencegah risiko keamanan, jangan atur Authorization Object ke 0.0.0.0/0.
-
Jika Anda tidak menetapkan Alamat IP publik saat membuat kluster, Anda dapat menetapkannya ke instans ECS node master di Konsol ECS.
Siapkan pengguna Knox
Mengakses Knox memerlukan otentikasi dengan username dan password. Knox menggunakan LDAP untuk otentikasi pengguna, yang disediakan oleh layanan Apache Directory Server dalam kluster.
-
Metode 1 (Direkomendasikan)
Di halaman EMR on ECS, klik nama kluster Anda. Klik tab Users untuk menambahkan akun pengguna Knox. Untuk informasi selengkapnya, lihat User Management.
-
Metode 2:
-
Sambungkan ke kluster melalui SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Siapkan data pengguna Anda. Contoh berikut menggunakan pengguna bernama Tom.
Edit file users.ldif.
su knox vim /opt/apps/KNOX/knox-current/templates/users.ldifDalam file tersebut, ganti semua kemunculan
emr-guestdenganTom, ganti semua kemunculanEMR GUESTdenganTom, dan atur nilai userPassword ke password yang Anda inginkan. -
Jalankan perintah berikut untuk mengimpor data pengguna ke LDAP.
cd /opt/apps/KNOX/knox-current/templates sh ldap-sample-users.sh
-
Akses web UI
Untuk informasi selengkapnya tentang cara mengakses antarmuka web, lihat Mengakses Antarmuka Web Komponen Open-Source dari Konsol.
FAQ
-
Q: Komponen Knox berhenti secara tak terduga. Saat saya mencoba menjalankan Knox, proses gagal dengan error
Failed to start gateway: org.apache.knox.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired.s/ecm/sxxx.0.3/bin/.. as GATEWAY_HOME via system property. 2021-08-03 16:37:35,794 INFO knox.gateway (GatewayConfigImpl.java:init(346)) - Cookie scoping feature enabled: false 2021-08-03 16:37:36,091 WARN knox.gateway (RemoteAliasService.java:init(448)) - There is no registry client defined for remote configuration monitoring. 2021-08-03 16:37:36,091 INFO knox.gateway (RemoteAliasService.java:start(485)) - Remote Alias Service enabled 2021-08-03 16:37:36,102 INFO knox.gateway (JettySSLService.java:init(96)) - Credential store for the gateway instance found - no need to create one. 2021-08-03 16:37:36,120 INFO knox.gateway (JettySSLService.java:init(118)) - Keystore for the gateway instance found - no need to create one. 2021-08-03 16:37:36,124 INFO knox.gateway (JettySSLService.java:logAndValidateCertificate(148)) - The Gateway SSL certificate is issued to hostname: localhost. 2021-08-03 16:37:36,125 INFO knox.gateway (JettySSLService.java:logAndValidateCertificate(151)) - The Gateway SSL certificate is valid between: 3/9/20 4:12 PM and 3/9/21 4:12 PM. 2021-08-03 16:37:36,136 FATAL knox.gateway (GatewayServer.java:main(162)) - Failed to start gateway: org.apache.knox.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired. Server will not start. -
A: Ikuti langkah-langkah berikut untuk mengatasi masalah ini:
-
Login ke kluster melalui SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
-
Jalankan perintah berikut untuk mengganti nama sertifikat yang telah kedaluwarsa.
sudo mv /opt/apps/KNOX/knox-current/data/security/keystores/gateway.jks /opt/apps/KNOX/knox-current/data/security/keystores/bak_gateway.jksCatatanAnda juga dapat memindahkan sertifikat yang kedaluwarsa ke direktori lain.
-
Jalankan layanan Knox.
-
Di Konsol EMR, pada halaman Services, temukan layanan Knox dan pilih .
-
Pada kotak dialog yang muncul, masukkan alasan eksekusi dan klik OK.
-
Pada kotak dialog Confirm, klik OK.
-
-
> START