Isilon: Ambari-automatiseret Kerberos-konfiguration med Isilon
Summary: Denne artikel fører dig gennem konfigurationen af Kerberos-sikkerhed med en Ambari-administreret Hadoop-klynge.
Symptoms
Cause
Resolution
Denne artikel beskriver, hvordan du konfigurerer Kerberos-sikkerhed med en Ambari-administreret Hadoop-klynge.
Kerberos er central for stærk godkendelse og kryptering for Hadoop, men det kan være en udfordring at konfigurere og administrere. Ambari 2.0 introducerede guidedrevet automatiseret Kerberos-konfiguration, hvilket gør processen meget hurtigere og mindre fejlbehæftet. Fra og med OneFS 8.0.0.1 kan Dell EMC Isilon-kunder benytte denne fremragende funktion.
Forudsætninger
- OneFS 8.0.0.1 eller nyere.
- Ambari 2.0 eller nyere.
- MIT KDC kører (Domænecontroller understøttes ikke). Følg trinene her for at konfigurere din Kerberos-infrastruktur.
- Videresende og tilbageføre DNS mellem alle værter.
- Alle tjenester kører (grønt) på Ambari-dashboardet.
Aktiver Kerberos
Forudgående konfiguration
Før du starter guiden, skal du indstille to konfigurationer og genstarte alle tjenester.- I HDFS –> Brugerdefineret kernewebsted indstillet "hadoop.security.token.service.use_ip" til "falsk"
- I MapReduce2 -> Advanced mapred-site skal du føje ""hadoop classpath":" til starten af "mapreduce.application.classpath". Bemærk kolon og baggrundstikker (men kopier ikke anførselstegnene).
Kom godt i gang
Naviger til Admin -> Kerberos , og tryk på knappen "Enable Kerberos" (Aktivér Kerberos). Titlerne i dette afsnit henviser til titlerne på Kerberos-guidesiderne.
Vælg "Existing MIT KDC", og sørg for, at forudsætningerne er opfyldt, og klik derefter på "Næste". Bemærk, at Isilon ikke bruger Java og ikke har brug for JCE.
Konfigurer Kerberos/Installation og test Kerberos-klient
Udfyld alle KDC- og administratorserveroplysninger. I trin 3 (Install and Test Kerberos Client) udfører Ambari-serveren en røgtest for at sikre, at du har konfigureret Kerberos korrekt.
Konfigurere identitets-/bekræftelseskonfiguration
a) Ambari-brugerledere (UPN'er)
Ambari opretter brugerledere i formatet $ -$ @$ og bruger derefter hadoop.security.auth_to_local i core-site.xml til at knytte cheferne til kun $ på filsystemet.Isilon imødekommer ikke tilknytningsreglerne, så du skal fjerne -$ fra alle chefer i afsnittet "Ambari Principals". Isilon fjerner @$ , så ingen aliasing er nødvendig. I en Ambari 2.2.1-klynge, der kører HDFS, UBER, MapReduce2, Tez, Hive, HBase, Drivere, Sqoop, Ootrop, Zookeeper, Falcon, Storm, Flume, Accumulo, Ambari Metrics, Kafka, Falcon, Slider og Spark, skal du foretage følgende ændringer i fanen "Generelt":
- Smokeuser's primære navn: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
- spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
- Storms primære navn: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
- HBase-brugerleder: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
- HDFS-brugerleder: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
- accumulo_principal_name: ${accumulo-env/accumulo_user}-$ @$ => ${accumulo-env/accumulo_user}@$
- trace.user: tracer-$ @$ => tracer@$
b) Service Principals (SPNs)
Ambari opretter serviceansvarlige, hvoraf nogle er forskellige fra deres UNIX-brugernavne. Igen, da Isilon ikke overholder tilknytningsreglerne, skal du ændre de primære navne, så de passer til deres UNIX-brugernavne. I Ambari 2.2.1-klyngen skal du foretage følgende ændringer i fanen "Avanceret":
- HDFS -> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
- ANNNE -> resourcemanager.principal: rm/_HOST@$ = 1,50 USD => usd (5,5_HOST@ USD)
- ANNNE -> nodemanager.principal: nm/_HOST@ $ => nog/_HOST@$
- MapReduce2 -> mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
- Falcon -> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$

Når du har konfigureret de relevante chefer, skal du trykke på "Næste". Tryk på "Næste" på skærmbilledet "Bekræft konfiguration".
Stop tjenester/Kerberize-klynge
Stop og kerberizing af tjenester bør lykkes.

Fortsæt ikke: Isilon tillader ikke, at Ambari opretter nøgletabs til Isilon-chefer. I stedet skal du manuelt konfigurere Kerberos på Isilon ved hjælp af nedenstående trin.
a) Opret KDC som en Isilon-godkendelsesudbyder
Bemærk: Hvis denne Isilon-zone allerede er konfigureret til at bruge din MIT KDC, kan du springe disse trin over.
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) Opret serviceledere for HDFS og HTTP (til 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) Opret alle nødvendige proxybrugere
I usikre klynger kan enhver bruger udgiver sig for at være enhver anden bruger. I sikre klynger skal proxybrugere udtrykkeligt angives.
Hvis du har Hive eller Oo den, skal du tilføje de relevante proxybrugere.
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) Deaktiver simpel godkendelse
Kun Kerberos- eller uddelegeringstokengodkendelse er tilladt.
isi hdfs-indstillinger rediger --zone=$isilon_zone --authentication-mode=kerberos_only
Nu, hvor Isilon er konfigureret, skal du også trykke på "Næste" i Ambari for at gå videre til sidste trin i guiden.
Start og test tjenester

Hvis tjenesterne ikke starter, er her nogle tricks til fejlfinding af Kerberos-problemer:
- På grund af en fejl i DEN UDTJEN, skal du indstille "den den første.resourcemanager.principal" til at indstille/$rm_hostname@$REALM i UDTJEN ->Brugerdefineret genstartswebsted. Syntaksen "_HOST" virker ikke med Kerberos aktiveret.
- For at fejlfinde Java GSSAPI/Kerberos-fejl skal du føje "-Dsun.security.krb5.debug=true" til HADOOP_OPTS.
- For HTTP 401-fejl skal du bruge Curl with -iv for at få ekstra fejlfindingsoplysninger.
- Sørg for, at frem og tilbage DNS er oprettet mellem alle værter.
I HDFS –> Brugerdefineret kernewebsted skal du indstille "hadoop.rpc.protection" til "integritet" eller "privatliv". Ud over godkendelse garanterer integritetsgarantier, at meddelelser ikke er blevet manipuleret med, og beskyttelse af personlige oplysninger krypterer alle meddelelser.
Kør et job!
Prøv et MapReduce-job fra enhver klientvært!
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!
(Valgfrit) Deaktiver Kerberos
Ryd op i Isilon
Du bør først rydde Op i Isilon. Dette er grundlæggende det modsatte af aktivering af Kerberos.
a) Deaktiver Kerberos-godkendelse
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) Slet alle proxybrugere
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) Slet chefer
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
Bemærk, at ovenstående kommandoer kun fjerner disse hovedkommandoer fra Isilon, men ikke fjerner dem fra KDC. Brug disse kommandoer til at fjerne Isilon-chefer fra KDC:
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Fjern KDC som en Isilon-godkendelsesudbyder
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Ryd op i klienter ved hjælp af Ambari
Tryk på "Deaktiver Kerberos" i Admin -> Kerberos. Alle tjenester bør blive grønne.