Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Isilon: Configuração automatizada do Kerberos no Ambari com Isilon

Résumé: Este artigo orienta você sobre como configurar a segurança do Kerberos com um cluster do Hadoop gerenciado pelo Ambari.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

n/d

Cause

n/d

Résolution

Nota: Este tópico faz parte do Using Hadoop with OneFS - Isilon Info Hub.

Este artigo descreve como configurar a segurança do Kerberos com um cluster do Hadoop gerenciado pelo Ambari.

O Kerberos é central para autenticação e criptografia sólidas para Hadoop, mas pode ser um desafio para configurar e administrar. O Ambari 2.0 introduziu a configuração automatizada do Kerberos orientada por assistente, o que torna o processo muito mais rápido e menos propenso a erros. A partir do OneFS 8.0.0.1, os clientes do Dell EMC Isilon podem aproveitar esse excelente recurso.


Pré-requisitos

  • OneFS 8.0.0.1 ou superior.
  • Ambari 2.0 ou superior.
  • KDC do MIT em execução (não há suporte para heimdal). Siga as etapas aqui para configurar sua infraestrutura Kerberos.
  • Avançar e inverter o DNS entre todos os hosts.
  • Todos os serviços estão em execução (verde) no painel de controle do Ambari.

Habilitar Kerberos

Pré-configuração

Antes de iniciar o assistente, você deve definir duas configurações e reiniciar todos os serviços.
  • No HDFS - Definição> personalizada do core-site "hadoop.security.token.service.use_ip" para "false"
  • No MapReduce2 —> o mapred-site avançado adiciona "'hadoop classpath':" ao início de "mapreduce.application.classpath". Observe os dois pontos e os backticks (mas não copie as aspas).

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.

SLN319432_en_US__1i_isilon-1-habilitada

Selecione "Existing MIT KDC", certifique-se de que os pré-requisitos sejam atendidos e, em seguida, clique em "Next". Observe que o Isilon não usa Java e não precisa do JCE.

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.


SLN319432_en_US__2i_isilon-2-instalar


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.

O Isilon não cumpre as regras de mapeamento, portanto, você deve remover o -$ de todos os principais na seção "Ambari Principals". O Isilon removerá o @$ , portanto, nenhum alias será necessário. Em um cluster do Ambari 2.2.1 que executa HDFS, YARN, MapReduce2, Tez, Hive, HBase, Pig, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume, Accumulo, Métricas do Ambari, Kafka, Park, Out, Slider e Spark, faça as seguintes modificações na guia "Geral":
  • Nome principal do Smokeuser: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • Nome principal do Storm: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • Principal do usuário do HBase: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • Principal do usuário do HDFS: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name: ${accumulo-env/accumulo_user}-$ @$ => ${accumulo-env/accumulo_user}@$
  • trace.user: tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon-3 identidades

b) SpNs (Service Principals, principais de serviço)

O Ambari cria principais de serviço, alguns dos quais são diferentes dos nomes de usuário do UNIX. Novamente, como o Isilon não cumpre as regras de mapeamento, você deve modificar os nomes de principal para corresponder aos nomes de usuário do UNIX. No cluster do Ambari 2.2.1, faça as seguintes modificações na guia "Avançado":
  • HDFS -> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
  • YARN -> yarn.resourcemanager.principal: rm/_HOST@$ => yarn/_HOST@$
  • YARN -> yarn.nodemanager.principal: nm/_HOST@$ => yarn/_HOST@$
  • MapReduce2 -> mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
  • Falcon -> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
 

SLN319432_en_US__4i_isilon-4 identidadesconfig


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.
 

SLN319432_en_US__5i_isilon-5 clusters


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
 

SLN319432_en_US__6i_isilon-6-startservices

 

Se os serviços não iniciarem, aqui estão alguns truques para depurar problemas do Kerberos:
  1. Devido a um bug no YARN, você precisa definir o "yarn.resourcemanager.principal" como yarn/$rm_hostname@$REALM in YARN ->Custom yarn-site. A sintaxe "_HOST" não funciona com o Kerberos ativado.
  2. Para depurar erros do Java GSSAPI/Kerberos, adicione "-Dsun.security.krb5.debug=true" ao HADOOP_OPTS.
  3. Para erros HTTP 401, use curl with -iv para obter informações adicionais de depuração.
  4. Certifique-se de que o DNS reverso e de avanço esteja configurado entre todos os hosts.
(Opcional) Forte segurança de RPC

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.

Propriétés de l’article


Produit concerné

Isilon, PowerScale OneFS, Isilon with HDFS

Dernière date de publication

14 Sep 2023

Version

5

Type d’article

Solution