Pré-requisitos
Habilitar Kerberos
Pré-configuração
Antes de iniciar o assistente, você deve definir duas configurações e reiniciar todos os serviços.Introdução
Navegue até Admin -> Kerberos e pressione o botão "Enable Kerberos". Os títulos desta seção referem-se aos títulos das páginas do assistente Kerberos.Configurar o client Kerberos/Instalar e testar o Kerberos
Preencha todas as informações do KDC e do servidor administrador. Na etapa 3 (Instalar e testar o client Kerberos), o servidor Ambari fará um teste de fumaça para garantir que você configurou o Kerberos corretamente.
Configurar identidades/confirmar configuração
a) UpNs (User Principals, principais de usuário) do Ambari
O Ambari cria os principais do usuário no formato $ -$ @$ e, em seguida, usa hadoop.security.auth_to_local em core-site.xml para mapear os principais em apenas $ no file system.
Depois de configurar os principais apropriados, pressione "Next". Na tela "Confirm Configuration", pressione "Next".
Interromper serviços/Kerberize Cluster
Os serviços de interrupção e kerberização devem ser bem-sucedidos.
Não prossiga: O Isilon não permite que o Ambari crie keytabs para os principais do Isilon. Em vez disso, você deve configurar manualmente o Kerberos no Isilon usando as etapas abaixo.
a) Crie o KDC como um provedor de autenticação do Isilon
Nota: Se essa zona do Isilon já estiver configurada para usar seu KDC do MIT, ignore essas etapas.
isi auth krb5 create --realm=$REALM --admin-server=$admin_server --kdc=$kdc_server --user=$admin_principal --password=$admin_password
isi zone zones modify --zone=$isilon_zone --add-auth-provider=krb5:$REALM
b) Crie principais de serviço para HDFS e HTTP (para WebHDFS).
isi auth krb5 spn create --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
isi auth krb5 spn create --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --user=$admin_principal --password=$admin_password
c) Crie todos os usuários de proxy necessários
Em clusters não protegidos, qualquer usuário pode representar qualquer outro usuário. Em clusters protegidos, os usuários de proxy precisam ser explicitamente especificados.
Se você tiver Hive ou Oozie, adicione os usuários de proxy apropriados.
isi hdfs proxyusers create oozie --zone=$isilon_zone --add-user=ambari-qa
isi hdfs proxyusers create hive --zone=$isilon_zone --add-user=ambari-qa
d) Desabilitar autenticação simples
Somente autenticação kerberos ou token de delegação é permitida.
isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only
Agora que o Isilon também está configurado, pressione "Next" no Ambari para passar para a última etapa do assistente.
Serviços de início e teste
Se os serviços não iniciarem, aqui estão alguns truques para depurar problemas do Kerberos:
No HDFS — conjunto> personalizado de core-site "hadoop.rpc.protection" como "integridade" ou "privacidade". Além da autenticação, as mensagens de garantia de integridade não foram violadas e a privacidade criptografa todas as mensagens.
Execute um trabalho!
Em qualquer host de client, tente um trabalho MapReduce!
kinit <some-user> yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar pi 1 1000
Job Finished in 37.635 seconds
Estimated value of Pi is 3.14800000000000000000
Congratulations--you have secured your cluster with Kerberos!
(Opcional) Desativar Kerberos
Limpar o Isilon
Você deve limpar o Isilon primeiro. Isso é essencialmente o inverso de habilitar o Kerberos.
a) Desabilite a autenticação Kerberos
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) Exclua todos os usuários de proxy
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) Excluir principais
isi auth krb5 spn delete --provider-name=$REALM --spn=hdfs/$isilon_smartconnect@$REALM --all
isi auth krb5 spn delete --provider-name=$REALM --spn=HTTP/$isilon_smartconnect@$REALM --all
Observe que os comandos acima removem apenas os principais do Isilon, mas não os removam do Key Distribution Center. Use estes comandos para remover os principais do Isilon do Key Distribution Center:
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Remover o KDC como um provedor de autenticação do Isilon
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Limpar clients usando o Ambari
Pressione "Disable Kerberos" em Admin -> Kerberos. Todos os serviços devem ficar em verde.