Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

In un ambiente Enterprise R Hadoop/rivoluzione, un processo mapreduce potrebbe non riuscire con un'eccezione Java relativi a kerberos:

Impostazione delle opzioni:
15/02/03 16:59:05 util. avvisa NativeCodeLoader: Impossibile caricare la libreria nativa-hadoop per la piattaforma in uso... tramite builtin-java classi eventualmente
DEBUG: allArgs = [-Dmapred.reduce.tasks=1, /user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/.input, /user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/IRO.iro, /user/RevoShare/a377683/AirlineDemoSmall / *, dojo3m20002.rtp1.hadoop.fmr.com, 8020, /usr/bin/Revoscript]
15/02/03 16:59:09 hdfs INFO. DFSClient: Creato il token HDFS_DELEGATION_TOKEN 242420 per a377683 ha-hdfs:nameservice1
15/02/03 16:59:09 sicurezza delle informazioni. TokenCache: Hai dt per hdfs://nameservice1; Tipo: HDFS_DELEGATION_TOKEN, servizio: ha-hdfs:nameservice1, Ident: (token HDFS_DELEGATION_TOKEN 242420 per a377683)

......

15/02/03 16:59:25 mapreduce INFO. Processo: mappa 0% 0% di riduzione
15/02/03 16:59:38 mapreduce INFO. Processo: ID dell'attività: attempt_1422647534016_1760_m_000000_0, stato: non riuscito
Errore: java.io.IOException: VM R chiuso con codice di uscita: 1, uscita:
script di avvio
[1] VERO
$fileName 
[1] NA
$start 
[1] 0
$length 
[1] 0
15/02/03 16:59:37 protezione avvisa. UserGroupInformation: PriviledgedActionException come: a377683 cause:javax.security.sasl.SaslException (auth:KERBEROS): initiate GSS non riuscita [causato da GSSException: Nessuna credenziale valida fornita (livello meccanismo: Impossibile trovare un tgt Kerberos)]
15/02/03 16:59:37 avvisa ipc. Client: Eccezione durante la connessione al server: javax.security.sasl.SaslException: initiate GSS non riuscita [causato da GSSException: Nessuna credenziale valida fornita (livello: Impossibile trovare un tgt Kerberos)]
15/02/03 16:59:37 protezione avvisa. UserGroupInformation: PriviledgedActionException come: a377683 cause:java.io.IOException (auth:KERBEROS): javax.security.sasl.SaslException: initiate GSS non riuscita [causato da GSSException: Nessuna credenziale valida fornita (livello meccanismo: Impossibile trovare un tgt Kerberos)]
hdfsOpenFile(/user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/.input): errore FileSystem#open((Lorg/apache/hadoop/fs/Path;I)Lorg/apache/hadoop/fs/FSDataInputStream;):
java.io.IOException: errore di eccezione locale: java.io.IOException: javax.security.sasl.SaslException: initiate GSS non riuscita [causato da GSSException: Nessuna credenziale valida fornita (livello: Impossibile trovare un tgt Kerberos)]; Dettagli host: host locale è: "< nomehost >"; host di destinazione è: "< nomehost >": 8020;
in org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:764)
in org.apache.hadoop.ipc.Client.call(Client.java:1415)
in org.apache.hadoop.ipc.Client.call(Client.java:1364)
in org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
in com.sun.proxy.$Proxy14.getBlockLocations (origine sconosciuta)
in org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getBlockLocations(ClientNamenodeProtocolTranslatorPB.java:246)
in sun.reflect.NativeMethodAccessorImpl.invoke0 (metodo nativo)
in sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
in sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
in java.lang.reflect.Method.invoke(Method.java:606)
in org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
in org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
in com.sun.proxy.$Proxy15.getBlockLocations (origine sconosciuta)
in org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1179)
in org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1169)
in org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1159)
in org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:270)
in org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:237)
in org.apache.hadoop.hdfs.DFSInputStream. < init > (DFSInputStream.java:230)
in org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1457)
in org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:301)
in org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:297)
in org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
in org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:297)
Verificato da: java.io.IOException: javax.security.sasl.SaslException: initiate GSS non riuscita [causato da GSSException: Nessuna credenziale valida fornita (livello: Impossibile trovare un tgt Kerberos)]
in org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:679)
in java.security.AccessController.doPrivileged (metodo nativo)
in javax.security.auth.Subject.doAs(Subject.java:415)
in org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)
in org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:642)
in org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:725)
in org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)
in org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)
in org.apache.hadoop.ipc.Client.call(Client.java:1382)

Confermare che l'utente di inviare il processo dispone di un ticket kerberos correnti e valido ma è possibile vedere il problema anche con un ticket valido confermato.

Se il cluster è configurato per la disponibilità elevata di nome nodo, è necessario essere specifici di RxHadoopMR() e RxHdfsFileSystem() chiama nello script per specificare il nome di servizio di nodo, se si specifica il nome host nodo attivo di nome funziona anche. Nel caso di un kerberized e HA nome nodo ambiente, il HDFS_DELEGATION_TOKEN deve corrispondere il riferimento nameservice. Il messaggio di errore sopra riportato, vedere:

Sicurezza delle informazioni. TokenCache: Hai dt per hdfs://nameservice1; Tipo: HDFS_DELEGATION_TOKEN, servizio: ha-hdfs:nameservice1, Ident: (HDFS_DELEGATION_TOKEN token 242420 per a377683

In questo caso, gli argomenti di nameNode/nome host nelle chiamate RxHadoopMR() e RxHdfsFileSystem() impostare su "nameservice1".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×