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
El tema trata sobre cómo configurar Apache Zeppelin
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:
-
Modifique el mecanismo de autenticación.
Modifique el archivo
shiro.inipara implementar el mecanismo de autenticación que prefiera. Zeppelin admite Active Directory, LDAP, PAM y Knox SSO. Consulte Apache Shiro authentication for Apache Zeppelinpara obtener más información. -
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.
-
Permita que Zeppelin utilice el comando sudo como usuario final
Cree un archivo
/etc/sudoers.d/90-zeppelin-userque contenga lo siguiente:zeppelin ALL=(ALL) NOPASSWD:ALL -
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”.
-
Modifique
zeppelin-env.shAgregue lo siguiente a
zeppelin-env.shpara 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.shpara 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.shpara incluir la ruta de la RecordServer clase EMR después de la primeraCLASSPATHsentencia: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" -
Reinicie Zeppelin.
Ejecute el siguiente comando para reiniciar Zeppelin:
sudo systemctl restart zeppelin