Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione dei cluster Amazon EMR abilitati da Zeppelin per Apache Ranger
L'argomento illustra come configurare Apache Zeppelin
Per impostazione predefinita, Zeppelin è configurato con un log-in e una password di default che non sono sicuri in un ambiente multi-tenant.
Per configurare Zeppelin, completa la procedura riportata di seguito.
-
Modifica del meccanismo di autenticazione.
Modifica del file
shiro.ini
per implementare il meccanismo di autenticazione preferito. Zeppelin supporta Active Directory, LDAP, PAM e Knox SSO. Consulta Autenticazione Apache Shiro per Apache Zeppelinper ulteriori informazioni. -
Configurazione di Zeppelin per rappresentare l'utente finale
Consentire a Zeppelin di rappresentare l'utente finale fa sì che i processi inviati da Zeppelin vengano eseguiti come utente finale. Aggiungi la seguente configurazione a
core-site.xml
:[ { "Classification": "core-site", "Properties": { "hadoop.proxyuser.zeppelin.hosts": "*", "hadoop.proxyuser.zeppelin.groups": "*" }, "Configurations": [ ] } ]
Quindi, aggiungi la seguente configurazione a
hadoop-kms-site.xml
in/etc/hadoop/conf
:[ { "Classification": "hadoop-kms-site", "Properties": { "hadoop.kms.proxyuser.zeppelin.hosts": "*", "hadoop.kms.proxyuser.zeppelin.groups": "*" }, "Configurations": [ ] } ]
Puoi anche aggiungere queste configurazioni al tuo cluster Amazon EMR tramite la console seguendo la procedura descritta in Riconfigurazione di un gruppo di istanze nella console.
-
Consenti a Zeppelin di eseguire il comando sudo come utente finale
Crea un file
/etc/sudoers.d/90-zeppelin-user
che contenga quanto segue:zeppelin ALL=(ALL) NOPASSWD:ALL
-
Modifica le impostazioni degli interpreti per eseguire i processi degli utenti nei propri processi.
Per tutti gli interpreti, configurali per creare un'istanza degli interpreti "per user" (per utente) nei processi "isolated" (isolati).
-
Modifica
zeppelin-env.sh
Aggiungi quanto segue a
zeppelin-env.sh
in modo che Zeppelin inizi ad avviare interpreti come utente finale:ZEPPELIN_IMPERSONATE_USER=`echo ${ZEPPELIN_IMPERSONATE_USER} | cut -d @ -f1` export ZEPPELIN_IMPERSONATE_CMD='sudo -H -u ${ZEPPELIN_IMPERSONATE_USER} bash -c'
Aggiungi quanto segue a
zeppelin-env.sh
per modificare le autorizzazioni predefinite del notebook in sola lettura solo per l'autore:export ZEPPELIN_NOTEBOOK_PUBLIC="false"
Infine, aggiungi quanto segue a
zeppelin-env.sh
per includere l'EMR RecordServer percorso di classe dopo il primoCLASSPATH
dichiarazione:export CLASSPATH="$CLASSPATH:/usr/share/aws/emr/record-server/lib/aws-emr-record-server-connector-common.jar:/usr/share/aws/emr/record-server/lib/aws-emr-record-server-spark-connector.jar:/usr/share/aws/emr/record-server/lib/aws-emr-record-server-client.jar:/usr/share/aws/emr/record-server/lib/aws-emr-record-server-common.jar:/usr/share/aws/emr/record-server/lib/jars/secret-agent-interface.jar"
-
Riavvia Zeppelin.
Per riavviare Zeppelin, esegui il comando seguente:
sudo systemctl restart zeppelin