

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à.

# Configura Zeppelin per i cluster Apache Amazon EMR Ranger-enabled
<a name="emr-ranger-configure-zeppelin"></a>

L'argomento illustra come configurare [Apache Zeppelin per un cluster Apache Ranger-enabled Amazon EMR in](https://zeppelin.apache.org/) modo da poter utilizzare Zeppelin come notebook per l'esplorazione interattiva dei dati. Zeppelin è incluso nel rilascio di Amazon EMR versione 5.0.0 e successive. Le versioni precedenti includono Zeppelin come applicazione sandbox. Per ulteriori informazioni, consulta [Versioni del rilascio 4.x di Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-4x.html) nella *Guida ai rilasci di Amazon EMR*.

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.

1. **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 Zeppelin](https://zeppelin.apache.org/docs/0.8.2/setup/security/shiro_authentication.html) per ulteriori informazioni.

1. **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](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html#emr-configure-apps-running-cluster-console).

1. **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
   ```

1. **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).  
![Diagramma dell'architettura Amazon EMR e Apache Ranger.](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/per_user.png)

1. **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, aggiungete quanto segue `zeppelin-env.sh` per includere il percorso della RecordServer classe EMR dopo la prima `CLASSPATH` istruzione:

   ```
   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"
   ```

1. **Riavvia Zeppelin.**

   Per riavviare Zeppelin, esegui il comando seguente:

   ```
   sudo systemctl restart zeppelin
   ```