Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

W środowisku przedsiębiorstwa R Hadoop/obrót zadania mapreduce może się nie powieść z wyjątkiem Java związane z protokołem kerberos:

Ustawianie opcji:
15/02/03 16:59:05 util. "OSTRZEGAJ" NativeCodeLoader: Za pomocą wbudowanego polecenia java nie mógł załadować biblioteki hadoop macierzystego dla danej platformy... klas stosownych
Program 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 INFO hdfs. DFSClient: Utworzony token HDFS_DELEGATION_TOKEN 242420 dla a377683 na ha-hdfs:nameservice1
15/02/03 16:59:09 INFO security. TokenCache: Dostał dt dla hdfs://nameservice1; Rodzaj: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:nameservice1, Ident: (token HDFS_DELEGATION_TOKEN 242420 do a377683)

......

15/02/03 16:59:25 INFO mapreduce. Zadanie: Mapa 0% zmniejszenia 0%
15/02/03 16:59:38 INFO mapreduce. Zadania: Zadań Id: attempt_1422647534016_1760_m_000000_0, stan: nie powiodło się
Błąd: java.io.IOException: R VM zostało zakończone przez kod zakończenia: 1, dane wyjściowe:
Uruchamianie skryptu
TRUE [1]
$fileName 
[1] NA
$start 
[1] 0
$length 
[1] 0
15/02/03 16:59:37 OSTRZEGAJ zabezpieczeń. UserGroupInformation: PriviledgedActionException jako: a377683 cause:javax.security.sasl.SaslException (auth:KERBEROS): nie powiodło się inicjowanie GSS [spowodowane przez GSSException: nie prawidłowych poświadczeń, pod warunkiem (poziom mechanizm: nie udało się znaleźć żadnych biletu Kerberos)]
15/02/03 16:59:37 OSTRZEGAJ ipc. Klienta: Wyjątek napotkano podczas nawiązywania połączenia z serwerem: javax.security.sasl.SaslException: nie powiodło się inicjowanie GSS [spowodowane przez GSSException: nie prawidłowych poświadczeń, pod warunkiem (poziom mechanizm: nie udało się znaleźć żadnych biletu Kerberos)]
15/02/03 16:59:37 OSTRZEGAJ zabezpieczeń. UserGroupInformation: PriviledgedActionException jako: a377683 cause:java.io.IOException (auth:KERBEROS): javax.security.sasl.SaslException: nie powiodło się inicjowanie GSS [spowodowane przez GSSException: nie prawidłowych poświadczeń, pod warunkiem (poziom mechanizm: nie udało się znaleźć żadnych biletu Kerberos)]
hdfsOpenFile(/user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/.input): błąd FileSystem#open((Lorg/apache/hadoop/fs/Path;I)Lorg/apache/hadoop/fs/FSDataInputStream;):
java.io.IOException: nie powiodło się na lokalnej wyjątek: java.io.IOException: javax.security.sasl.SaslException: nie powiodło się inicjowanie GSS [spowodowane przez GSSException: nie prawidłowych poświadczeń, pod warunkiem (poziom mechanizm: nie udało się znaleźć żadnych biletu Kerberos)]; Dane hosta: hosta lokalnego jest: "< nazwa_hosta >"; host docelowy to: "< nazwa_hosta >": 8020;
o org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:764)
o org.apache.hadoop.ipc.Client.call(Client.java:1415)
o org.apache.hadoop.ipc.Client.call(Client.java:1364)
o org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
w com.sun.proxy.$Proxy14.getBlockLocations (nieznanego źródła)
o org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getBlockLocations(ClientNamenodeProtocolTranslatorPB.java:246)
w sun.reflect.NativeMethodAccessorImpl.invoke0 (metoda)
o sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
o sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
o java.lang.reflect.Method.invoke(Method.java:606)
o org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
o org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
w com.sun.proxy.$Proxy15.getBlockLocations (nieznanego źródła)
o org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1179)
o org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1169)
o org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1159)
o org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:270)
o org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:237)
o org.apache.hadoop.hdfs.DFSInputStream < init > (DFSInputStream.java:230).
o org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1457)
o org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:301)
o org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:297)
o org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
o org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:297)
Spowodowany przez: java.io.IOException: javax.security.sasl.SaslException: nie powiodło się inicjowanie GSS [spowodowane przez GSSException: nie prawidłowych poświadczeń, pod warunkiem (poziom mechanizm: nie udało się znaleźć żadnych biletu Kerberos)]
o org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:679)
w Java.Security.accesscontroller.doprivilegednative (metoda)
o javax.security.auth.Subject.doAs(Subject.java:415)
o org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)
o org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:642)
o org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:725)
o org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)
o org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)
o org.apache.hadoop.ipc.Client.call(Client.java:1382)

Po pierwsze potwierdzić, że użytkownik przesyłania zadania mają biletu kerberos aktualne i prawidłowe, ale istnieje możliwość zobaczyć ten błąd, nawet w przypadku potwierdzonego ważny bilet.

Jeśli klaster jest skonfigurowany dla nazwy węzła wysokiej dostępności, jest specyficzne w RxHadoopMR() i RxHdfsFileSystem() wywołania w skrypcie, aby określić usługę węzeł nazwa, choć Określanie nazwy hosta aktywnej nazwy węzła będzie również działać. W przypadku Kerberos i HA nazwa węzła środowisku HDFS_DELEGATION_TOKEN musi odpowiadać odwołanie serwowanie. W powyższych błędów Zobacz:

Bezpieczeństwo informacji. TokenCache: Dostał dt dla hdfs://nameservice1; Rodzaj: HDFS_DELEGATION_TOKEN, Service: ha-hdfs:nameservice1, Ident: (HDFS_DELEGATION_TOKEN token 242420 dla a377683

W takim przypadku argumenty nameNode lub nazwę hosta w wywołaniach RxHadoopMR() i RxHdfsFileSystem() powinna być równa "nameservice1".

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×