Isilon: Automatisk Kerberos-konfigurasjon for Ambari med Isilon
Summary: Denne artikkelen veileder deg gjennom konfigurering av Kerberos-sikkerhet med en Ambari-administrert Hadoop-klynge.
Symptoms
Cause
Resolution
Denne artikkelen beskriver hvordan du konfigurerer Kerberos-sikkerhet med en Ambari-administrert Hadoop-klynge.
Kerberos er sentral for sterk godkjenning og kryptering for Hadoop, men det kan være en utfordring å konfigurere og administrere. Ambari 2.0 introduserte veiviserdrevet automatisert Kerberos-konfigurasjon, noe som gjør prosessen mye raskere og mindre utsatt for feil. Fra og med OneFS 8.0.0.1 kan Dell EMC Isilon-kunder utnytte denne flotte funksjonen.
Forhåndskrav
- OneFS 8.0.0.1 eller nyere.
- Ambari 2.0 eller nyere.
- CURV KDC som kjører (̉ er ikke støttet). Følg trinnene her for å konfigurere Kerberos-infrastrukturen.
- Videresende og reversere DNS mellom alle verter.
- Alle tjenester kjører (grønn) på Ambari-instrumentpanelet.
Aktiver Kerberos
Forhåndskonfigurasjon
Før du starter veiviseren, må du angi to konfigurasjoner og starte alle tjenestene på nytt.- I HDFS –> Egendefinert kjerneområdesett «hadoop.security.token.service.use_ip» til «false»
- I MapReduce2 –> Advanced mapred-site add "'hadoop classpath':" til begynnelsen av "mapreduce.application.classpath". Legg merke til kolon og baksperrer (men ikke kopier anførselstegnene).
Kom i gang
Naviger til Admin - Kerberos (Administrator –> Kerberos ), og trykk på knappen Enable Kerberos (Aktiver Kerberos). Titlene i denne delen viser til titlene på Kerberos-veivisersidene.
Velg "Existing GATEWAY KDC", og kontroller at forutsetningene er oppfylt, og klikk deretter på "Next" (Neste). Vær oppmerksom på at Isilon ikke bruker Java, og ikke trenger JCE.
Konfigurere Kerberos/installere og teste Kerberos-klient
Fyll ut all KDC- og administratorserverinformasjon. På trinn 3 (installer og test Kerberos Client) utfører Ambari-serveren en røyktest for å sikre at du konfigurerte Kerberos på riktig måte.
Konfigurere identiteter / bekrefte konfigurasjon
a) Ambari User Principals (UPNs)
Ambari oppretter brukerledere i form $ -$ @$ , og bruker deretter hadoop.security.auth_to_local i core-site.xml for å tilordne hovedstolene til bare $ på filsystemet.Isilon overholder ikke reglene for tilordning, så du må fjerne -$ fra alle ledere i delen "Ambari Principals" (Ambari-ledere). Isilon fjerner @$ , så ingen alias er nødvendig. I en Ambari 2.2.1-klynge som kjører HDFS, HTCN, MapReduce2, Tez, Hive, HBase, Piper, Sqoop, Oozie, Zookeeper, Falcon, Storm, Flume, Accumulo, Ambari Metrics, Kafka, Piper, Watout, Slider og Spark, gjør du følgende endringer i kategorien General (Generelt):
- Smokeuser-hovednavn: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
- spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
- Storm-hovednavn: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
- HBase-brukersjef: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
- HDFS-brukersjef: ${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 oppretter servicerektorer, og noen av dem er annerledes enn unix-brukernavnene deres. Siden Isilon ikke overholder reglene for tilordning, må du endre hovednavnene slik at de samsvarer med UNIX-brukernavnene. I Ambari 2.2.1-klyngen gjør du følgende endringer i kategorien Advanced (Avansert):
- HDFS –> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
- PSTN –> pstn.resourcemanager.principal: rm/_HOST@$ => rm/_HOST@$
- PSTN -> dlln.nodemanager.principal: nm/_HOST@$ => summen/_HOST@$
- MapReduce2 –> mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
- Falcon –> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$

Når du har konfigurert de aktuelle overordnetne, trykker du på "Next" (Neste). I skjermbildet "Confirm Configuration" (Bekreft konfigurasjon) trykker du på "Next" (Neste).
Stopp tjenester / Kerberize-klynge
Stopp- og Kerberizing-tjenester skal lykkes.

Ikke fortsett: Isilon tillater ikke at Ambari oppretter taster for Isilon-ledere. I stedet må du konfigurere Kerberos på Isilon manuelt ved hjelp av trinnene nedenfor.
a) Opprette KDC som en Isilon-godkjenningsleverandør
Merk: Hvis denne Isilon-sonen allerede er konfigurert til å bruke ENCRSCDC, kan du hoppe over disse trinnene.
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) Opprette serviceledere for HDFS og HTTP (for 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) Opprett alle nødvendige proxy-brukere
I usikrede klynger kan alle brukere utgi seg for å være andre brukere. I sikre klynger må proxy-brukere angis eksplisitt.
Hvis du har Hive eller Oozie, legger du til de aktuelle proxy-brukerne.
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 enkel autentisering
Bare Kerberos- eller delegeringstokengodkjenning er tillatt.
isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only
Nå som Isilon også er konfigurert, trykker du på Neste i Ambari for å gå videre til det siste trinnet i veiviseren.
Start- og testtjenester

Hvis tjenestene ikke starter, kan du se noen triks for feilsøking av Kerberos-problemer:
- På grunn av en feil i DLLN, må du angi "dlln.resourcemanager.principal" til sedvanisk/$rm_hostname@$REALM i PSTN –>Custom pstn-site. Syntaksen "_HOST" fungerer ikke med Kerberos aktivert.
- Hvis du vil feilsøke Java GSSAPI-/Kerberos-feil, legger du til «-Dsun.security.krb5.debug=true» i HADOOP_OPTS.
- For HTTP 401-feil bruker du curl med -iv for ekstra feilsøkingsinformasjon.
- Kontroller at dns forover og omvendt er konfigurert mellom alle verter.
I HDFS –> Tilpasset kjerneanlegg sett "hadoop.rpc.protection" til "integritet" eller "personvern". I tillegg til godkjenning har integritetsgarantier meldinger ikke blitt tuklet med, og personvern krypterer alle meldinger.
Kjør en jobb!
Prøv en MapReduce-jobb fra en hvilken som helst klientvert!
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!
(Valgfritt) Deaktiver Kerberos
Rengjøre Isilon
Du bør rydde opp i Isilon først. Dette er i hovedsak den invertere for å aktivere Kerberos.
a) Deaktiver Kerberos-godkjenning
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) Slett alle proxy-brukere
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) Slette ledere
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
Vær oppmerksom på at kommandoene ovenfor bare fjerner disse ledere fra Isilon, men ikke fjerner dem fra KDC. Bruk disse kommandoene til å fjerne Isilon-ledere fra KDC:
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Fjerne KDC som en Isilon-godkjenningsleverandør
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Rengjøre klienter ved hjelp av Ambari
Trykk på "Disable Kerberos" (Deaktiver Kerberos) i Admin - Kerberos( Administrator –> Kerberos). Alle tjenestene skal komme grønt opp.