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 do Amazon EMR habilitados para Apache Ranger
O tópico aborda como configurar o Apache Zeppelin
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.
-
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 Zeppelinpara obter mais informações. -
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.
-
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
-
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”.
-
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 primeiraCLASSPATH
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"
-
Reiniciar o Zeppelin.
Execute o seguinte comando para reiniciar o Zeppelin:
sudo systemctl restart zeppelin