

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar o Zeppelin para clusters Apache Amazon EMR Ranger-enabled
<a name="emr-ranger-configure-zeppelin"></a>

O tópico aborda como configurar o [Apache Zeppelin](https://zeppelin.apache.org/) para um cluster Apache Ranger-enabled Amazon EMR para que você possa usar o Zeppelin como um notebook para exploração interativa de dados. O Zeppelin é incluído no Amazon EMR 5.0.0 e versões posteriores. As versões anteriores incluem o Zeppelin como uma aplicação sandbox. Para obter mais informações, consulte [Amazon EMR 4.x release versions](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-4x.html) no *Guia de lançamento do Amazon EMR*.

Por padrão, o Zeppelin é configurado com um login e uma senha padrão que não são seguros em um ambiente multilocatário.

Para configurar o Zeppelin, siga as etapas a seguir.

1. **Modificar o mecanismo de autenticação**. 

   Modifique o arquivo `shiro.ini` para implementar o mecanismo de autenticação de sua preferência. O Zeppelin oferece suporte a Active Directory, LDAP, PAM e Knox SSO. Consulte [Apache Shiro authentication for Apache Zeppelin](https://zeppelin.apache.org/docs/0.8.2/setup/security/shiro_authentication.html) para obter mais informações.

1. **Configurar o Zeppelin para representar o usuário final**

   Quando você permite que o Zeppelin represente o usuário final, os trabalhos enviados pelo Zeppelin podem ser executados como esse usuário final. Adicione o seguinte à configuração de `core-site.xml`:

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

   Em seguida, adicione a seguinte configuração a `hadoop-kms-site.xml` localizado em `/etc/hadoop/conf`:

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

   Também é possível adicionar essas configurações ao cluster do Amazon EMR usando o console seguindo as etapas descritas em [Reconfigure an instance group in the console](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html#emr-configure-apps-running-cluster-console).

1. **Permitir que o Zeppelin se torne o usuário final**

   Crie um arquivo `/etc/sudoers.d/90-zeppelin-user` que contenha:

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

1. **Modificar as configurações dos intérpretes para executar trabalhos do usuário em seus próprios processos**.

   Configure todos os intérpretes para instanciar os intérpretes “Por usuário” em processos “isolados”.  
![Diagrama de arquitetura do Amazon EMR e do Apache Ranger.](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/per_user.png)

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

   Adicione isto a `zeppelin-env.sh` que o Zeppelin comece a iniciar intérpretes como usuário final:

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

   Adicione isto a `zeppelin-env.sh` para alterar as permissões padrão de caderno para somente leitura para o criador:

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

   Por fim, adicione o seguinte `zeppelin-env.sh` para incluir o caminho da RecordServer classe EMR após a primeira `CLASSPATH` declaração:

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

   Execute o seguinte comando para reiniciar o Zeppelin:

   ```
   sudo systemctl restart zeppelin
   ```