Isilon: Automatizovaná konfigurace Kerberos v systému Ambari s řešením Isilon
Summary: Tento článek vás provede konfigurací zabezpečení Kerberos s clusterem Hadoop spravovaným systémem Ambari.
Symptoms
Cause
Resolution
Tento článek popisuje, jak nakonfigurovat zabezpečení Kerberos s clusterem Hadoop spravovaným systémem Ambari.
Kerberos je pro silné ověřování a šifrování pro Hadoop zásadní, ale konfigurace a správa může být výzvou. Aplikace Ambari 2.0 zavedla automatizovanou konfiguraci Kerberos na bázi průvodce, díky níž je proces mnohem rychlejší a méně náchylný k chybám. Počínaje verzí OneFS 8.0.0.1 mohou zákazníci řešení Dell EMC Isilon využít tuto vynikající funkci.
Požadavky
- OneFS 8.0.0.1 nebo vyšší.
- Ambari 2.0 nebo vyšší.
- Mit KDC je spuštěna (program Vojdal není podporován). Při nastavování infrastruktury Kerberos postupujte podle následujících kroků.
- Přeposílání a obrácení serveru DNS mezi všemi hostiteli.
- Na řídicím panelu Ambari jsou spuštěny všechny služby (zeleně).
Povolení protokolu Kerberos
Před konfigurací
Před spuštěním průvodce je nutné nastavit dvě konfigurace a restartovat všechny služby.- V systému HDFS –> Vlastní pracoviště jádra nastaví hodnotu "hadoop.security.token.service.use_ip" na hodnotu "false".
- V mapreduce2 –> Advanced mapred-site přidejte "'hadoop classpath':" na začátek souboru "mapreduce.application.classpath". Poznamenejte si dvojtečku a podsvícení (ale nezkopírujte uvozovky).
Začínáme
Přejděte do části Admin –> Kerberos a stiskněte tlačítko "Enable Kerberos". Názvy v této části se týkají názvů stránek průvodce Kerberos.
Vyberte možnost "Existing MIT KDC", ujistěte se, že jsou splněny požadované požadavky, a klikněte na tlačítko "Next". Upozorňujeme, že řešení Isilon nepoužívá prostředí Java a nevyžaduje JCE.
Konfigurace protokolu Kerberos / instalace a testování klienta Kerberos
Vyplňte všechny informace o řadiči KDC a serveru správce. V kroku 3 (instalace a testování klienta Kerberos) provede server Ambari test smoke, aby zajistil, že jste nakonfigurovali kerberos správně.
Konfigurace identit / potvrzení konfigurace
a) Vedoucích uživatelů (UPNs) Ambari
Aplikace Ambari vytvoří hlavní uživatele ve formátu $ -$ @$ a poté pomocí hadoop.security.auth_to_local v souboru core-site.xml namapuje principy na pouhých $ v souborovém systému.Isilon nesplňuje pravidla mapování, proto je nutné odstranit hodnotu -$ od všech vedoucích v části "Ambari Principals". Isilon se odlupuje od @$ , takže není nutné aliasovat. V clusteru Ambari 2.2.1 se systémem HDFS, NAZEV, MapReduce2, Tez, Hive, HBase, Jade, Sqoop, Oo hz, Falcon, Storm, Flume, Accumulo, Ambari Metrics, Zachytá, Jade, Sparkout, Slider, Slider a Spark proveďte na kartě "General" následující úpravy:
- Hlavní název smokeuser: ${cluster-env/smokeuser}-$ @$ => ${cluster-env/smokeuser}@$
- spark.history.kerberos.principal: ${spark-env/spark_user}-$ @$ => ${spark-env/spark_user}-@$
- Hlavní název bouře: ${storm-env/storm_user}-$ @$ => ${storm-env/storm_user}-@$
- Hlavní uživatel služby HBase: ${hbase-env/hbase_user}-$ @$ => ${hbase-env/hbase_user}@$
- Hlavní uživatel HDFS: ${hadoop-env/hdfs_user}-$ @$ => ${hadoop-env/hdfs_user}@$
- accumulo_principal_name: ${accumulo-env/accumulo_user}-$ @$ => ${accumulo-env/accumulo_user}@$
- trace.user: tracer-$ @$ => tracer@$
b) Ambari (Service Principals)
vytváří vedoucí služby, z nichž některé se liší od jejich uživatelských jmen UNIX. Jelikož řešení Isilon nereschovává pravidla mapování, je nutné hlavní názvy upravit tak, aby odpovídaly jejich uživatelským jménem UNIX. V clusteru Ambari 2.2.1 proveďte na kartě "Advanced" následující úpravy:
- HDFS –> dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$
- EMASTEA –> emmy.resourcemanager.principal: rm/_HOST@$ => _HOST@ USD
- EMASTEA –> nenáměr.nodemanager.principal: nm/_HOST@$ => _HOST@$
- MapReduce2 –> mapreduce.jobhistory.principal: jhs/_HOST@$ => mapred/_HOST@$
- Falcon –> *.dfs.namenode.kerberos.principal: nn/_HOST@$ => hdfs/_HOST@$

Po konfiguraci příslušných hlavních zařízení stiskněte tlačítko "Next". Na obrazovce "Confirm Configuration" (Potvrdit konfiguraci) stiskněte tlačítko "Next".
Zastavení služeb / clusteru Kerberize
Zastavení a řešení by mělo uspět.

Nepokračujte: Řešení Isilon neumožňuje aplikaci Ambari vytvářet karty s klávesami pro vedoucí jednotky Isilon. Namísto toho je nutné v řešení Isilon ručně nakonfigurovat protokol Kerberos pomocí níže uvedených kroků.
a) Vytvoření karty KDC jako poskytovatele ověřování Isilon
Poznámka: Pokud je tato zóna Isilon již nakonfigurována na používání nástroje MIT KDC, můžete tyto kroky přeskočit.
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) Vytvoření vedoucích služeb pro HDFS a HTTP (pro 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) Vytvoření veškerých potřebných uživatelů proxy
V nezabezpečených clusterech může každý uživatel získat přístup ke všem ostatním uživatelům. V zabezpečených clusterech je nutné výslovně specifikovat uživatele proxy.
Pokud máte nástroj Hive nebo Oooskop, přidejte příslušné uživatele proxy.
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) Zakázat jednoduché ověřování
Je povoleno pouze ověřování tokenu Kerberos nebo delegování.
isi hdfs settings modify --zone=$isilon_zone --authentication-mode=kerberos_only
Nyní, když je nakonfigurován také uzel Isilon, přejděte stisknutím tlačítka "Next" v aplikaci Ambari na poslední krok průvodce.
Spuštění a testování služeb

Pokud se služby nespustí, existují některé triky pro ladění problémů s protokolem Kerberos:
- Kvůli chybě ve správci JE TŘEBA nastavit soubor "vychytávku.resourcemanager.principal" na adresu $rm_hostname@$REALM v ČÁSTI VYCHYtávce –>vlastní seznamovací pracoviště. Syntaxe "_HOST" nefunguje s povolenou technologií Kerberos.
- Chcete-li ladit chyby Java GSSAPI/Kerberos, přidejte k HADOOP_OPTS "-Dsun.security.krb5.debug=true".
- Pro chyby HTTP 401 použijte příkaz "curl" s příkazem -iv , pokud chcete další informace o ladění.
- Ujistěte se, že je server DNS nastavený dopředu a zpět mezi všemi hostiteli.
V systému HDFS –> Vlastní nastavení jádra pracoviště "hadoop.rpc.protection" na "integrity" nebo "privacy". Kromě ověřování nedošlo k narušení zpráv záruky integrity a soukromí šifruje všechny zprávy.
Spusťte úlohu!
Z libovolného hostitele klienta vyzkoušejte úlohu 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!
(Volitelné) Zakázání protokolu Kerberos
Vyčištění řešení Isilon
Nejprve byste měli vyčistit řešení Isilon. To je v podstatě obrácené povolení protokolu Kerberos.
a) Zakažte ověřování Kerberos.
isi hdfs settings modify --authentication-mode=simple_only --zone=$isilon_zone
b) Odstraňte všechny uživatele serveru proxy.
isi hdfs proxyusers delete oozie --zone=$isilon_zone
isi hdfs proxyusers delete hive --zone=$isilon_zone
c) Odstranění hlavních tektorů
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
Upozorňujeme, že výše uvedené příkazy odstraní z řešení Isilon pouze ty hlavní, ale neodstraňujte je z karty KDC. Pomocí těchto příkazů odeberte hlavní uživatele Isilon z řadiče KDC:
kadmin -p $admin_principal
kadmin: delete_principal hdfs/$isilon_smartconnect@$REALM
kadmin: delete_principal HTTP/$isilon_smartconnect@$REALM
d) Odeberte KDC jako poskytovatele ověřování Isilon.
isi zone zones modify --zone=$isilon_zone --remove-auth-provider=krb5:$REALM
isi auth krb5 delete --provider-name=$REALM
Vyčištění klientů pomocí aplikace Ambari
Stiskněte tlačítko "Disable Kerberos" v části Admin –> Kerberos. Všechny služby by měly být zelené.