

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de Zeppelin para clústeres de Apache Amazon EMR Ranger-enabled
<a name="emr-ranger-configure-zeppelin"></a>

El tema trata sobre cómo configurar [Apache Zeppelin](https://zeppelin.apache.org/) para un clúster de Apache Amazon Ranger-enabled EMR, de modo que pueda utilizar Zeppelin como bloc de notas para la exploración interactiva de datos. Zeppelin se incluye en las versiones de 5.0.0 de Amazon EMR y posteriores. Las versiones anteriores incluyen Zeppelin como una aplicación de entorno aislado. Para obtener más información, consulte [Versiones de lanzamiento de Amazon EMR 4.x](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-4x.html) en la *Guía de publicación de Amazon EMR*.

De forma predeterminada, Zeppelin está configurado con una contraseña y un nombre de usuario predeterminados, lo que no es seguro en un entorno multiusuario.

Para configurar Zeppelin, siga los pasos que se describen a continuación:

1. **Modifique el mecanismo de autenticación**. 

   Modifique el archivo `shiro.ini` para implementar el mecanismo de autenticación que prefiera. Zeppelin admite Active Directory, LDAP, PAM y Knox SSO. Consulte [Apache Shiro authentication for Apache Zeppelin](https://zeppelin.apache.org/docs/0.8.2/setup/security/shiro_authentication.html) para obtener más información.

1. **Configure Zeppelin para suplantar al usuario final**

   Si permite que Zeppelin suplante al usuario final, los trabajos enviados por Zeppelin se pueden ejecutar como ese usuario final. Agregue la siguiente configuración a `core-site.xml`:

   ```
   [
     {
       "Classification": "core-site",
       "Properties": {
         "hadoop.proxyuser.zeppelin.hosts": "*",
         "hadoop.proxyuser.zeppelin.groups": "*"
       },
       "Configurations": [
       ]
     }
   ]
   ```

   A continuación, agregue la siguiente configuración a `hadoop-kms-site.xml`, que se encuentra en `/etc/hadoop/conf`:

   ```
   [
     {
       "Classification": "hadoop-kms-site",
       "Properties": {
         "hadoop.kms.proxyuser.zeppelin.hosts": "*",
         "hadoop.kms.proxyuser.zeppelin.groups": "*"
       },
       "Configurations": [
       ]
     }
   ]
   ```

   También puede agregar estas configuraciones a su clúster de Amazon EMR mediante la consola siguiendo los pasos que se indican en [Reconfiguración de un grupo de instancias en la consola](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html#emr-configure-apps-running-cluster-console).

1. **Permita que Zeppelin utilice el comando sudo como usuario final**

   Cree un archivo `/etc/sudoers.d/90-zeppelin-user` que contenga lo siguiente:

   ```
   zeppelin ALL=(ALL) NOPASSWD:ALL
   ```

1. **Modifique la configuración de los intérpretes para ejecutar las tareas de los usuarios en sus propios procesos**.

   Configure todos los intérpretes para que creen instancias de los intérpretes “por usuario” en procesos “aislados”.  
![Diagrama de arquitectura de Amazon EMR y Apache Ranger.](http://docs.aws.amazon.com/es_es/emr/latest/ManagementGuide/images/per_user.png)

1. **Modifique `zeppelin-env.sh`**

   Agregue lo siguiente a `zeppelin-env.sh` para que Zeppelin comience a lanzar los intérpretes como usuario final:

   ```
   ZEPPELIN_IMPERSONATE_USER=`echo ${ZEPPELIN_IMPERSONATE_USER} | cut -d @ -f1`
   export ZEPPELIN_IMPERSONATE_CMD='sudo -H -u ${ZEPPELIN_IMPERSONATE_USER} bash -c'
   ```

   Agregue lo siguiente a `zeppelin-env.sh` para cambiar los permisos predeterminados del cuaderno a solo lectura únicamente para el creador:

   ```
   export ZEPPELIN_NOTEBOOK_PUBLIC="false"
   ```

   Por último, añada lo siguiente `zeppelin-env.sh` para incluir la ruta de la RecordServer clase EMR después de la primera `CLASSPATH` sentencia:

   ```
   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. **Reinicie Zeppelin.**

   Ejecute el siguiente comando para reiniciar Zeppelin:

   ```
   sudo systemctl restart zeppelin
   ```