Requisitos previos
Habilitar Kerberos
Configuración previa
Antes de iniciar el asistente, debe establecer dos configuraciones y reiniciar todos los servicios.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.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.
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.
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.
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
Si los servicios no se inician, estos son algunos trucos para depurar problemas de Kerberos:
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.