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: Configuración automatizada de Kerberos de Ambari con Isilon (en inglés)

Résumé: Este artículo lo guía a través de la configuración de la seguridad de Kerberos con un clúster hadoop administrado por 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/a

Cause

n/a

Résolution

Nota: Este tema es parte de Using Hadoop with OneFS - Isilon Info Hub.

En este artículo, se describe cómo configurar la seguridad de Kerberos con un clúster de Hadoop administrado por Ambari.

Kerberos es fundamental para la autenticación y el cifrado sólidos para Hadoop, pero puede ser un desafío configurar y administrar. Ambari 2.0 presentó la configuración automatizada de Kerberos impulsada por asistente, lo que hace que el proceso sea mucho más rápido y menos propenso a errores. A partir de OneFS 8.0.0.1, los clientes de Dell EMC Isilon pueden aprovechar esta excelente función.


Requisitos previos

  • OneFS 8.0.0.1 o superior.
  • Ambari 2.0 o superior.
  • Mit KDC en ejecución (Heimdal no es compatible). Siga los pasos que se indican aquí para configurar la infraestructura de Kerberos.
  • DNS directo e inverso entre todos los hosts.
  • Todos los servicios se ejecutan (en verde) en el tablero de Ambari.

Habilitar Kerberos

Configuración previa

Antes de iniciar el asistente, debe establecer dos configuraciones y reiniciar todos los servicios.
  • En HDFS:> conjunto de sitios principales personalizados "hadoop.security.token.service.use_ip" en "false"
  • En MapReduce2-> Advanced mapred-site , agregue "'hadoop classpath':" al principio de "mapreduce.application.classpath". Tenga en cuenta los dos puntos y los punteros (pero no copie las comillas).

Para comenzar

Vaya a Admin -> Kerberos y presione el botón "Enable Kerberos". Los títulos de esta sección hacen referencia a los títulos de las páginas del asistente de Kerberos.

habilitación de SLN319432_en_US__1i_isilon-1

Seleccione "KDC mit existente", asegúrese de que se cumplan los requisitos previos y, a continuación, haga clic en "Siguiente". Tenga en cuenta que Isilon no utiliza Java y no necesita JCE.

Configurar kerberos/instalar y probar el cliente Kerberos

Complete toda la información de KDC y del servidor de administración. En el paso 3 (instalar y probar el cliente Kerberos), el servidor de Ambari realizará una prueba de humo para asegurarse de que configuró Kerberos correctamente.


SLN319432_en_US__2i_isilon-2-install


Configurar identidades/confirmar configuración

 a) Entidades de seguridad de usuario (UPN) de Ambari

Ambari crea entidades de seguridad de usuario con el formato $ -$ @$ y, a continuación, utiliza hadoop.security.auth_to_local en core-site.xml para mapear las entidades de seguridad en solo $ en el sistema de archivos.

Isilon no respeta las reglas de mapeo, por lo que debe quitar el -$ de todas las entidades de seguridad en la sección "Entidades de seguridad de Ambari". Isilon eliminará el @$ , por lo que no es necesario el uso de alias. En un clúster de Ambari 2.2.1 que ejecuta HDFS, YARN, MapReduce2, Tez, Hive, HBase, Pig, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume, Logicmulo, Ambari Metrics, Kafka, Chromebook, Xtremout, Slider y Spark, realice las siguientes modificaciones en la pestaña "General":
  • Nombre principal de Smokeuser: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
  • spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
  • Nombre principal de tormenta: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
  • Entidad de seguridad de usuario de HBase: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
  • Entidad de seguridad de usuario de HDFS: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
  • accumulo_principal_name: ${mulo-env/accumulo_user}-$ @$ => ${booleano-env/accumulo_user}@$
  • trace.user: tracer-$ @$ => tracer@$

SLN319432_en_US__3i_isilon-3-identidades

b) Entidades de seguridad de servicio (SPN)

Ambari crea entidades de seguridad de servicio, algunas de las cuales son diferentes a sus nombres de usuario de UNIX. Una vez más, dado que Isilon no respeta las reglas de mapeo, debe modificar los nombres principales para que coincidan con sus nombres de usuario de UNIX. En el clúster de Ambari 2.2.1, realice las siguientes modificaciones en la pestaña "Advanced":
  • 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-identitiesconfig


Después de configurar las entidades de seguridad correspondientes, presione "Next" (Siguiente). En la pantalla "Confirm Configuration" (Confirmar configuración), presione "Next" (Siguiente).

Detener servicios/kerberizar clúster

Detener y kerberizar los servicios debería tener éxito.
 

clúster de SLN319432_en_US__5i_isilon-5


No continúe: Isilon no permite que Ambari cree keytabs para las entidades de seguridad de Isilon. En su lugar, debe configurar manualmente Kerberos en Isilon mediante los pasos que se indican a continuación.

a) Cree KDC como proveedor de autenticación de Isilon

Nota: Si esta zona de Isilon ya está configurada para usar el KDC de MIT, puede omitir estos pasos.

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) Cree entidades de seguridad de servicio para HDFS y 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) Crear los usuarios proxy necesarios

En clústeres no seguros, cualquier usuario puede suplantar a cualquier otro usuario. En los clústeres seguros, los usuarios proxy deben especificarse explícitamente.
Si tiene Hive u Oozie, agregue los usuarios proxy correspondientes.

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) Deshabilitar la autenticación simple

Solo se permite la autenticación de token de delegación o Kerberos.

isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only

Ahora que Isilon también está configurado, presione "Next" (Siguiente) en Ambari para pasar al último paso del asistente.

Servicios de inicio y prueba
 

SLN319432_en_US__6i_isilon-6-startservices

 

Si los servicios no se inician, estos son algunos trucos para depurar problemas de Kerberos:
  1. Debido a un error en YARN, debe configurar "yarn.resourcemanager.principal" en yarn/$rm_hostname@$REALM en YARN :>yarn-site personalizado. La sintaxis "_HOST" no funciona con Kerberos habilitado.
  2. Para depurar errores de Java GSSAPI/Kerberos, agregue "-Dsun.security.krb5.debug=true" a HADOOP_OPTS.
  3. Para los errores http 401, utilice curl con -iv para obtener información de depuración adicional.
  4. Asegúrese de que dns hacia adelante e inverso esté configurado entre todos los hosts.
(Opcional) Seguridad RPC sólida

En HDFS:> conjunto de sitios principales personalizados "hadoop.rpc.protection" en "integridad" o "privacidad". Además de la autenticación, la integridad garantiza que los mensajes no se hayan manipulado y la privacidad cifra todos los mensajes.

¡Ejecute un trabajo!

Desde cualquier host de cliente, pruebe un trabajo de 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) Deshabilitar Kerberos

Limpiar Isilon

Primero debe limpiar Isilon. Esto es esencialmente la inversa de habilitar Kerberos.

a) Deshabilitar la autenticación Kerberos

isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone

b) Eliminar cualquier usuario proxy

isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone

c) Eliminar entidades de seguridad

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

Tenga en cuenta que los comandos anteriores solo eliminan esas entidades de seguridad de Isilon, pero no las quitan del KDC. Utilice estos comandos para eliminar las entidades de seguridad de Isilon del KDC:

kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM

d) Elimine KDC como proveedor de autenticación de Isilon

isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM

Limpiar clientes mediante Ambari

Presione "Disable Kerberos" (Deshabilitar Kerberos) en Admin -> Kerberos. Todos los servicios deben aparecer en 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