Risolvere i problemi di connettività di PolyBase KerberosTroubleshoot PolyBase Kerberos connectivity

È possibile usare uno strumento di diagnostica interattivo integrato in PolyBase per risolvere i problemi di autenticazione quando si usa PolyBase per un cluster Hadoop protetto con Kerberos.You can use an interactive diagnostics tool that has been built into PolyBase to help troubleshoot authentication problems when using PolyBase against a Kerberos-secured Hadoop cluster.

Questo articolo può essere usato come guida per eseguire il debug dei problemi usando lo strumento di diagnostica.This article serves as a guide to walk through the debugging process of such issues by leveraging this tool.

PrerequisitiPrerequisites

  1. SQL Server 2016 RTM CU6 / SQL Server 2016 SP1 CU3 / SQL Server 2017 o versione successiva con PolyBase installatoSQL Server 2016 RTM CU6 / SQL Server 2016 SP1 CU3 / SQL Server 2017 or higher with PolyBase installed
  2. Un cluster Hadoop (Cloudera o Hortonworks) protetto con Kerberos (Active Directory o MIT)A Hadoop cluster (Cloudera or Hortonworks) secured with Kerberos (Active Directory or MIT)

IntroduzioneIntroduction

È utile per capire il protocollo Kerberos a livello generale.It helps to first understand the Kerberos protocol at a high-level. Sono tre gli attori coinvolti:There are three actors involved:

  1. Client Kerberos (SQL Server)Kerberos client (SQL Server)
  2. Risorsa protetta (HDFS, MR2, YARN, cronologia processo e così via)Secured resource (HDFS, MR2, YARN, Job History, etc.)
  3. Centro distribuzione chiavi (definito controller di dominio in Active Directory)Key distribution center (referred to as a domain controller in Active Directory)

Ogni risorsa protetta di Hadoop è registrata nel Centro distribuzione chiavi (KDC) con un nome dell'entità servizio (SPN) univoco come parte del processo di protezione del cluster Hadoop con Kerberos.Each one of Hadoop's secured resources is registered with the Key Distribution Center (KDC) with a unique Service Principal Name (SPN) as part of the Kerberization process of the Hadoop cluster. L'obiettivo è consentire al client di ottenere un ticket utente temporaneo, detto Ticket Granting Ticket (TGT), in modo da richiedere un altro ticket temporaneo, detto ticket di servizio (ST), dal KDC per il nome dell'entità servizio specifico a cui si vuole accedere.The goal is for the client to obtain a temporary user ticket, called a Ticket Granting Ticket (TGT), in order to request another temporary ticket, called a Service Ticket (ST), from the KDC against the particular SPN that it wants to access.
In PolyBase, quando è richiesta l'autenticazione per qualsiasi risorsa protetta con Kerberos, viene eseguito il seguente handshake a quattro vie:In PolyBase, when authentication is requested against any Kerberos-secured resource, the following four-round-trip handshake takes place:

  1. SQL Server si connette a KDC e ottiene un ticket TGT per l'utente.SQL Server connects to the KDC and obtains a TGT for the user. Il TGT viene crittografato usando la chiave privata del KDC.The TGT is encrypted using the KDC’s private key.
  2. SQL Server chiama la risorsa protetta di Hadoop, ad esempio Hadoop Distributed File System (HDFS), e determina per quale SPN è necessario un ST.SQL Server calls the Hadoop secured resource (e.g. HDFS) and determines which SPN it needs a ST for.
  3. SQL Server torna al KDC, passa di nuovo il TGT e richiede un ST per accedere a quella particolare risorsa protetta.SQL Server goes back to the KDC, passes the TGT back, and requests a ST to access that particular secured resource. Il ticket ST viene crittografato usando la chiave privata del servizio protetto.The ST is encrypted using the secured service’s private key.
  4. SQL Server inoltra il ticket ST in Hadoop e viene autenticato per la creazione di una sessione per quel servizio.SQL Server forwards the ST to Hadoop and gets authenticated to have a session created against that service.

I problemi di autenticazione rientrano in uno o più dei quattro passaggi precedenti.Issues with authentication fall into one or more of the above four steps. Per rendere il debug più veloce, PolyBase ha introdotto uno strumento di diagnostica integrato per l'identificazione del punto di errore.To help with faster debugging, PolyBase has introduced an integrated diagnostics tool to help identify the point of failure.

Risoluzione dei problemiTroubleshooting

PolyBase ha più XML di configurazione che contengono le proprietà del cluster Hadoop.PolyBase has multiple configuration XMLs containing properties of the Hadoop cluster. In particolare, questi sono i file:Namely, these are the following files:

  • core-site.xmlcore-site.xml
  • hdfs-site.xmlhdfs-site.xml
  • hive-site.xmlhive-site.xml
  • jaas.confjaas.conf
  • mapred-site.xmlmapred-site.xml
  • yarn-site.xmlyarn-site.xml

Questi file si trovano in:These files are located under:

\[Unità di sistema\]: {percorso installazione}\{istanza}\{nome}\MSSQL\Binn\Polybase\Hadoop\conf\[System Drive\]:{install path}\{instance}\{name}\MSSQL\Binn\Polybase\Hadoop\conf

Ad esempio, il valore predefinito per SQL Server 2016 sarebbe "C:\Programmi\Microsoft SQL Server\MSSQL13. MSSQLSERVER\MSSQL\Binn\Polybase\Hadoop\conf".For example, the default for SQL Server 2016, for instance, would be "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Polybase\Hadoop\conf".

Aggiornare uno dei file di configurazione di PolyBase, core-Site.xml, con le tre proprietà indicate di seguito con i valori impostati in base all'ambiente:Update one of the PolyBase configuration files, core-site.xml, with the three properties below with the values set according to the environment:

<property>
    <name>polybase.kerberos.realm</name>
    <value>CONTOSO.COM</value>
</property>
<property>
    <name>polybase.kerberos.kdchost</name>
    <value>kerberos.contoso.com</value>
</property>
<property>
    <name>hadoop.security.authentication</name>
    <value>KERBEROS</value>
</property>

Gli altri XML in un secondo tempo dovranno essere a loro volta aggiornati se si vogliono eseguire operazioni di distribuzione, ma con solo questo file configurato, deve essere almeno possibile accedere al file system HDFS.The other XMLs will later need to be updated as well if pushdown operations are desired, but with just this file configured, the HDFS file system should at least be able to be accessed.

Lo strumento viene eseguito in modo indipendente da SQL Server, quindi non è necessario che sia in esecuzione, né che venga riavviato se vengono aggiornati gli XML di configurazione.The tool runs independently of SQL Server, so it does not need to be running, nor does it need to be restarted if updates are made to the configuration XMLs. Per eseguire lo strumento, usare i comandi seguenti nell'host in cui è installato SQL:To run the tool, execute the following commands on the host with SQL Server installed:

> cd C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Polybase  
> java -classpath ".\Hadoop\conf;.\Hadoop\*;.\Hadoop\HDP2_2\*" com.microsoft.polybase.client.HdfsBridge {Name Node Address} {Name Node Port} {Service Principal} {Filepath containing Service Principal's Password} {Remote HDFS file path (optional)}

ArgomentiArguments

ArgomentoArgument DescriptionDescription
Indirizzo del nodo del nomeName Node Address IP o nome di dominio completo del nodo del nome.The IP or FQDN of the name node. Si riferisce all'argomento "LOCATION" in CREATE EXTERNAL DATA SOURCE T-SQL.This refers to the "LOCATION" argument in your CREATE EXTERNAL DATA SOURCE T-SQL.
Porta del nodo del nomeName Node Port La porta del nodo del nome.The port of the name node. Si riferisce all'argomento "LOCATION" in CREATE EXTERNAL DATA SOURCE T-SQL.This refers to the "LOCATION" argument in your CREATE EXTERNAL DATA SOURCE T-SQL. In genere è 8020.This is typically 8020.
Entità servizioService Principal L'entità servizio di amministratore per il KDC.The admin service principal to your KDC. Deve corrispondere all'oggetto usato come argomento "IDENTITY" in CREATE DATABASE SCOPED CREDENTIAL T-SQL.This should match what you use as your "IDENTITY" argument in your CREATE DATABASE SCOPED CREDENTIAL T-SQL.
Password del servizioService Password Anziché digitare la password nella console, archiviarla in un file e passare il percorso del file qui.Instead of typing your password at the console, store it in a file and pass the file path here. Il contenuto del file deve corrispondere all'oggetto usato come argomento "SECRET" in CREATE DATABASE SCOPED CREDENTIAL T-SQL.The contents of the file should match what you use as your "SECRET" argument in your CREATE DATABASE SCOPED CREDENTIAL T-SQL.
Percorso del file HDFS remoto (facoltativo)*Remote HDFS file path (optional) * Percorso di un file esistente a cui accedere.The path of an existing file to access. Se non è specificato, verrà usata la radice "/".If not specified, the root "/" will be used.

EsempioExample

java -classpath ".\Hadoop\conf;.\Hadoop\*;.\Hadoop\HDP2_2\*" com.microsoft.polybase.client.HdfsBridge 10.193.27.232 8020 admin_user C:\temp\kerberos_pass.txt

L'output è dettagliato per il debug avanzato, ma esistono solo quattro checkpoint principali da cercare indipendentemente dal fatto che si usi MIT o Active Directory.The output is verbose for enhanced debugging, but there are only four main checkpoints to look for regardless of whether you are using MIT or AD. Corrispondono ai quattro passaggi descritti in precedenza.They correspond to the four steps outlined above.

I seguenti estratti provengono da un centro distribuzione chiavi (KDC) MIT.The following excerpts are from an MIT KDC. I riferimenti agli output di esempio completi per MIT e AD sono riportati alla fine di questo articolo.You may refer to complete sample outputs from both MIT and AD at the end of this article in the References.

Checkpoint 1Checkpoint 1

Deve essere presente un dump esadecimale di un ticket con entità server = krbtgt /MYREALM.COM@MYREALM.COM.There should be a hex dump of a ticket with Server Principal = krbtgt/MYREALM.COM@MYREALM.COM. Questo indica SQL Server ha eseguito correttamente l'autenticazione nel KDC e ha ricevuto un TGT.This indicates SQL Server successfully authenticated against the KDC and received a TGT. In caso contrario, il problema riguarda esclusivamente SQL Server e il KDC e non Hadoop.If not, the problem lies strictly between SQL Server and the KDC, and not Hadoop.

PolyBase non supporta le relazioni di trust tra AD e MIT e deve essere configurato per lo stesso KDC come è stato configurato nel cluster Hadoop.PolyBase does not support trust relationships between AD and MIT and must be configured against the same KDC as configured in the Hadoop cluster. In tali ambienti la creazione manuale di un account di servizio per il KDC e l'uso dell'account per eseguire l'autenticazione funzionano.In such environments, manually creating a service account on that KDC and using that to perform authentication will work.

|>>> KrbAsReq creating message 
 >>> KrbKdcReq send: kdc=kerberos.contoso.com UDP:88, timeout=30000, number of retries =3, #bytes=143 
 >>> KDCCommunication: kdc=kerberos.contoso.com UDP:88, timeout=30000,Attempt =1, #bytes=143 
 >>> KrbKdcReq send: #bytes read=646 
 >>> KdcAccessibility: remove kerberos.contoso.com 
 >>> EType: sun.security.krb5.internal.crypto.Des3CbcHmacSha1KdEType 
 >>> KrbAsRep cons in KrbAsReq.getReply myuser 
 [2017-04-25 21:34:33,548] INFO 687[main] - com.microsoft.polybase.client.KerberosSecureLogin.secureLogin(KerberosSecureLogin.java:97) - Subject: 
 Principal: admin_user@CONTOSO.COM 
 Private Credential: Ticket (hex) = 
 0000: 61 82 01 48 30 82 01 44 A0 03 02 01 05 A1 0E 1B a..H0..D........ 
 0010: 0C 41 50 53 48 44 50 4D 53 2E 43 4F 4D A2 21 30 .CONTOSO.COM.!0 
 0020: 1F A0 03 02 01 02 A1 18 30 16 1B 06 6B 72 62 74 ........0...krbt 
 0030: 67 74 1B 0C 41 50 53 48 44 50 4D 53 2E 43 4F 4D gt..CONTOSO.COM 
 0040: A3 82 01 08 30 82 01 04 A0 03 02 01 10 A1 03 02 ....0........... 
 *[…Condensed…]* 
 0140: 67 6D F6 41 6C EB E0 C3 3A B2 BD B1 gm.Al...:... 
 Client Principal = admin_user@CONTOSO.COM 
 Server Principal = krbtgt/CONTOSO.COM@CONTOSO.COM 
 *[…Condensed…]* 
 [2017-04-25 21:34:34,500] INFO 1639[main] - com.microsoft.polybase.client.HdfsBridge.main(HdfsBridge.java:1579) - Successfully authenticated against KDC server. 

Checkpoint 2Checkpoint 2

PolyBase tenterà di accedere all'HDFS con esito negativo perché la richiesta non contiene il ticket di servizio necessario.PolyBase will make an attempt to access the HDFS and fail because the request did not contain the necessary Service Ticket.

 [2017-04-25 21:34:34,501] INFO 1640[main] - com.microsoft.polybase.client.HdfsBridge.main(HdfsBridge.java:1584) - Attempting to access external filesystem at URI: hdfs://10.193.27.232:8020 
 Found ticket for admin_user@CONTOSO.COM to go to krbtgt/CONTOSO.COM@CONTOSO.COM expiring on Wed Apr 26 21:34:33 UTC 2017 
 Entered Krb5Context.initSecContext with state=STATE_NEW 
 Found ticket for admin_user@CONTOSO.COM to go to krbtgt/CONTOSO.COM@CONTOSO.COM expiring on Wed Apr 26 21:34:33 UTC 2017 
 Service ticket not found in the subject 

Checkpoint 3Checkpoint 3

Un secondo dump esadecimale indica che SQL Server ha usato correttamente il TGT e ha acquisito il ticket di servizio applicabile per il nome dell'entità servizio del nodo del nome dal KDC.A second hex dump indicates that SQL Server successfully used the TGT and acquired the applicable Service Ticket for the name node's SPN from the KDC.

 >>> KrbKdcReq send: kdc=kerberos.contoso.com UDP:88, timeout=30000, number of retries =3, #bytes=664 
 >>> KDCCommunication: kdc=kerberos.contoso.com UDP:88, timeout=30000,Attempt =1, #bytes=664 
 >>> KrbKdcReq send: #bytes read=669 
 >>> KdcAccessibility: remove kerberos.contoso.com 
 >>> EType: sun.security.krb5.internal.crypto.Des3CbcHmacSha1KdEType 
 >>> KrbApReq: APOptions are 00100000 00000000 00000000 00000000 
 >>> EType: sun.security.krb5.internal.crypto.Des3CbcHmacSha1KdEType 
 Krb5Context setting mySeqNumber to: 1033039363 
 Created InitSecContextToken: 
 0000: 01 00 6E 82 02 4B 30 82 02 47 A0 03 02 01 05 A1 ..n..K0..G...... 
 0010: 03 02 01 0E A2 07 03 05 00 20 00 00 00 A3 82 01 ......... ...... 
 0020: 63 61 82 01 5F 30 82 01 5B A0 03 02 01 05 A1 0E ca.._0..[....... 
 0030: 1B 0C 41 50 53 48 44 50 4D 53 2E 43 4F 4D A2 26 ..CONTOSO.COM.& 
 0040: 30 24 A0 03 02 01 00 A1 1D 30 1B 1B 02 6E 6E 1B 0$.......0...nn. 
 0050: 15 73 68 61 73 74 61 2D 68 64 70 32 35 2D 30 30 .hadoop-hdp25-00 
 0060: 2E 6C 6F 63 61 6C A3 82 01 1A 30 82 01 16 A0 03 .local....0..... 
 0070: 02 01 10 A1 03 02 01 01 A2 82 01 08 04 82 01 04 ................ 
 *[…Condensed…]* 
 0240: 03 E3 68 72 C4 D2 8D C2 8A 63 52 1F AE 26 B6 88 ..hr.....cR..&.. 
 0250: C4 . 

Checkpoint 4Checkpoint 4

Infine, le proprietà del file del percorso di destinazione devono essere stampate insieme a un messaggio di conferma.Finally, the file properties of the target path should be printed along with a confirmation message. Ciò indica che SQL Server è stato autenticato da Hadoop usando il ticket ST e che è stato concesso a una sessione di accedere alla risorsa protetta.This indicates SQL Server was authenticated by Hadoop using the ST and a session was granted to access the secured resource.

Quando si raggiunge questo punto viene confermato che: (i) i tre attori sono in grado di comunicare correttamente, (ii) core-site.xml e jaas.conf sono corretti e (iii) il KDC ha riconosciuto le credenziali.Reaching this point confirms that: (i) the three actors are able to communicate correctly, (ii) the core-site.xml and jaas.conf are correct, and (iii) your KDC recognized your credentials.

 [2017-04-25 21:34:35,096] INFO 2235[main] - com.microsoft.polybase.client.HdfsBridge.main(HdfsBridge.java:1586) - File properties for "/": FileStatus{path=hdfs://10.193.27.232:8020/; isDirectory=true; modification_time=1492028259862; access_time=0; owner=hdfs; group=hdfs; permission=rwxr-xr-x; isSymlink=false} 
 [2017-04-25 21:34:35,098] INFO 2237[main] - com.microsoft.polybase.client.HdfsBridge.main(HdfsBridge.java:1587) - Successfully accessed the external file system. 

Errori comuniCommon errors

Se è stato eseguito lo strumento e le proprietà del file del percorso di destinazione non sono state stampate (Checkpoint 4), deve essere stata generata un'eccezione in un punto intermedio.If the tool was run and the file properties of the target path were not printed (Checkpoint 4), there should be an exception thrown midway. Esaminarla e considerare il contesto in cui si è verificato nel flusso in quattro passaggi.Review it and consider the context of where in the four-step flow it occurred. Prendere in considerazione i seguenti problemi comuni che si possono essere verificati, nell'ordine:Consider the following common issues that may have occurred, in order:

Eccezione e messaggiException and messages CausaCause
org.apache.hadoop.security.AccessControlExceptionorg.apache.hadoop.security.AccessControlException
SIMPLE authentication is not enabled.SIMPLE authentication is not enabled. Available:[TOKEN, KERBEROS]Available:[TOKEN, KERBEROS]
Per core-site.xml la proprietà hadoop.security.authentication non è impostata su "KERBEROS".The core-site.xml doesn't have the hadoop.security.authentication property set to "KERBEROS".
javax.security.auth.login.LoginExceptionjavax.security.auth.login.LoginException
Client not found in Kerberos database (6) - CLIENT_NOT_FOUNDClient not found in Kerberos database (6) - CLIENT_NOT_FOUND
L'entità servizio dell'amministratore specificata non esiste nell'area di autenticazione specificata in core-site.xml.The admin Service Principal supplied does not exist in the realm specified in core-site.xml.
javax.security.auth.login.LoginExceptionjavax.security.auth.login.LoginException
Checksum failedChecksum failed
L'entità servizio dell'amministratore esiste, ma la password non è valida.Admin Service Principal exists, but bad password.
Native config name: C:\Windows\krb5.iniNative config name: C:\Windows\krb5.ini
Loaded from native configLoaded from native config
Questa non è un'eccezione, ma indica che krb5LoginModule di Java ha rilevato configurazioni client personalizzate nel computer.This is not an exception, but it indicates that Java's krb5LoginModule detected custom client configurations on your machine. Controllare le impostazioni client personalizzate perché possono essere la causa del problema.Check your custom client settings as they may be causing the issue.
javax.security.auth.login.LoginExceptionjavax.security.auth.login.LoginException
java.lang.IllegalArgumentExceptionjava.lang.IllegalArgumentException
Illegal principal name admin_user@CONTOSO.COM: org.apache.hadoop.security.authentication.util.KerberosName$NoMatchingRule: No rules applied to admin_user@CONTOSO.COMIllegal principal name admin_user@CONTOSO.COM: org.apache.hadoop.security.authentication.util.KerberosName$NoMatchingRule: No rules applied to admin_user@CONTOSO.COM
Aggiungere la proprietà "hadoop.security.auth_to_local" a core-site.xml con le regole appropriate in base al cluster Hadoop.Add the property “hadoop.security.auth_to_local” to core-site.xml with the appropriate rules per the Hadoop cluster.
java.net.ConnectExceptionjava.net.ConnectException
Attempting to access external filesystem at URI: hdfs://10.193.27.230:8020Attempting to access external filesystem at URI: hdfs://10.193.27.230:8020
Call From IAAS16981207/10.107.0.245 to 10.193.27.230:8020 failed on connection exceptionCall From IAAS16981207/10.107.0.245 to 10.193.27.230:8020 failed on connection exception
L'autenticazione per il KDC è riuscita, ma non è stato possibile accedere al nodo del nome Hadoop.Authentication against the KDC was successful, but it failed to access the Hadoop name node. Controllare l'IP e la porta del nodo del nome.Check the name node IP and port. Verificare che il firewall sia disabilitato in Hadoop.Verify the firewall is disabled on Hadoop.
java.io.FileNotFoundExceptionjava.io.FileNotFoundException
File does not exist: /test/data.csvFile does not exist: /test/data.csv
L'autenticazione è riuscita, ma il percorso specificato non esiste.Authentication was successful, but the location specified does not exist. Controllare il percorso o eseguire prima un test con la radice "/" .Check the path or test with root "/" first.

Suggerimenti per il debugDebugging tips

KDC MITMIT KDC

Tutti i nomi dell'entità servizio registrati con il KDC, tra cui gli amministratori, possono essere visualizzati eseguendo kadmin.local > (account di accesso dell'amministratore) > listprincs sull'host KDC o qualsiasi client KDC configurato.All the SPNs registered with the KDC, including the admins, can be viewed by running kadmin.local > (admin login) > listprincs on the KDC host or any configured KDC client. Se il cluster Hadoop è stato correttamente protetto con Kerberos, deve essere presente un nome dell'entità servizio per ognuno dei diversi servizi disponibili nel cluster (ad esempio nn, dn, rm, yarn, spnego e così via). I file keytab corrispondenti (sostituti delle password) possono essere visualizzati in /etc/security/keytabs per impostazione predefinita.If the Hadoop cluster was properly Kerberized, there should be one SPN for each one of the numerous services available in the cluster (e.g. nn, dn, rm, yarn, spnego, etc.) Their corresponding keytab files (password substitutes) can be seen under /etc/security/keytabs, by default. Vengono crittografati usando la chiave privata del KDC.They are encrypted using the KDC's private key.

Può essere anche opportuno usare lo strumento kinit per verificare le credenziali di amministratore nel KDC a livello locale.Also consider using the kinit tool to verify the admin credentials on the KDC locally. Un esempio di utilizzo è: kinit identity@MYREALM.COM.An example usage would be: kinit identity@MYREALM.COM. La richiesta di una password indica che l'identità esiste.A prompt for a password indicates the identity exists.
Per impostazione predefinita, i log del KDC sono disponibili in /var/log/krb5kdc.log, che include tutte le richieste di ticket, con l'indirizzo IP del client che ha effettuato la richiesta.The KDC logs are available in /var/log/krb5kdc.log, by default, which includes all of the requests for tickets including the client IP that made the request. Devono essere presenti due richieste provenienti dall'indirizzo IP del computer SQL Server in cui è stato eseguito lo strumento: la prima per il ticket TGT del server di autenticazione specificata come AS_REQ e la seconda, TGS_REQ, per il ticket ST proveniente dal server di concessione dei ticket.There should be two requests from the SQL Server machine's IP wherein the tool was run: first for the TGT from the Authenticating Server as an AS_REQ, followed by a TGS_REQ for the ST from the Ticket Granting Server.

 [root@MY-KDC log]# tail -2 /var/log/krb5kdc.log 
 May 09 09:48:26 MY-KDC.local krb5kdc[2547](info): **AS_REQ** (3 etypes {17 16 23}) 10.107.0.245: ISSUE: authtime 1494348506, etypes {rep=16 tkt=16 ses=16}, admin_user@CONTOSO.COM for **krbtgt/CONTOSO.COM@CONTOSO.COM** 
 May 09 09:48:29 MY-KDC.local krb5kdc[2547](info): **TGS_REQ** (3 etypes {17 16 23}) 10.107.0.245: ISSUE: authtime 1494348506, etypes {rep=16 tkt=16 ses=16}, admin_user@CONTOSO.COM for **nn/hadoop-hdp25-00.local@CONTOSO.COM** 

Active DirectoryActive Directory

In Active Directory è possibile visualizzare i nomi dell'entità servizio passando a Pannello di controllo > Utenti e computer di Active Directory > AreaAutenticazione > UnitàOrganizzativa.In Active Directory, the SPNs can be viewed by browsing to Control Panel > Active Directory Users and Computers > MyRealm > MyOrganizationalUnit. Se il cluster Hadoop è stato correttamente protetto con Kerberos, deve essere presente un nome dell'entità servizio per ognuno dei diversi servizi disponibili (ad esempio nn, dn, rm, yarn, spnego e così via).If the Hadoop cluster was properly Kerberized, there should be one SPN for each one of the numerous services available (e.g. nn, dn, rm, yarn, spnego, etc.)

Vedere ancheSee also

Blog sull'integrazione di PolyBase con Cloudera usando l'autenticazione di Active DirectoryIntegrating PolyBase with Cloudera using Active Directory Authentication
Guida di Cloudera per la configurazione di Kerberos per CDHCloudera’s Guide to setting up Kerberos for CDH
Guida di Hortonworks per la configurazione di Kerberos per HDPHortonworks’ Guide to Setting up Kerberos for HDP
Risoluzione dei problemi di PolybasePolybase troubleshooting