Applies ToRevolution Analytics

Hadoop/혁명 R 엔터프라이즈 환경에서는 kerberos 관련 Java 예외를 사용 하 여 mapreduce 작업을 실패할 수 있습니다.

옵션을 설정 합니다.15/02/03 16시 59분: 05 경고 유틸리티 NativeCodeLoader: 해당 되는 경우... 플랫폼 hadoop 네이티브 라이브러리를 로드할 수 없습니다 기본 제공 java를 사용 하 여 클래스디버그: 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 정보. DFSClient: a377683 HDFS_DELEGATION_TOKEN 토큰이 242420에서 만든 ha-hdfs:nameservice115/02/03 16시 59분: 09 정보 보안. TokenCache: dt hdfs://nameservice1;에 있어 종류: HDFS_DELEGATION_TOKEN, 서비스: ha-hdfs:nameservice1, Ident: (HDFS_DELEGATION_TOKEN 242420에 대 한 토큰 a377683)......15/02/03 16시 59분: 25 mapreduce 정보. 작업: 맵 0% 0%를 줄일15/02/03 16시 59분: 38 mapreduce 정보. 작업: 작업 Id: attempt_1422647534016_1760_m_000000_0, 상태: 실패오류: java.io.IOException: R VM 종료 코드에서 끝났습니다: 1 출력:스크립트를 시작합니다.[1] 참$fileName [N A 1]$start [1] 0$length [1] 015/02/03 16시 59분: 37 보안 경고. UserGroupInformation:로 PriviledgedActionException: a377683 cause:javax.security.sasl.SaslException (auth:KERBEROS): GSS 초기화에 실패 했습니다 [GSSException 때문에 생긴: 제공 되는 유효한 자격 증명이 없는 (메커니즘 수준: 모든 Kerberos tgt를 찾지 못했습니다)]15/02/03 16시 59분: 37 ipc 경고 합니다. 클라이언트: 서버에 연결 하는 동안 발생 하 예외: javax.security.sasl.SaslException: GSS 초기화에 실패 했습니다 [GSSException 때문에 생긴: 제공 되는 유효한 자격 증명이 없는 (메커니즘 수준: 모든 Kerberos tgt를 찾지 못했습니다)]15/02/03 16시 59분: 37 보안 경고. UserGroupInformation:로 PriviledgedActionException: a377683 (auth:KERBEROS) cause:java.io.IOException: javax.security.sasl.SaslException: GSS 초기화에 실패 했습니다 [GSSException 때문에 생긴: 제공 되는 유효한 자격 증명이 없는 (메커니즘 수준: 모든 Kerberos tgt를 찾지 못했습니다)]hdfsOpenFile(/user/RevoShare/a377683/EE594B467CDE4C988C3C3F7AF563DABB/.input): FileSystem#open((Lorg/apache/hadoop/fs/Path;I)Lorg/apache/hadoop/fs/FSDataInputStream;) 오류:java.io.IOException: 로컬 예외에서 실패 했습니다: java.io.IOException: javax.security.sasl.SaslException: GSS 초기화에 실패 했습니다 [GSSException 때문에 생긴: 제공 되는 유효한 자격 증명이 없는 (메커니즘 수준: 모든 Kerberos tgt를 찾지 못했습니다)]; 호스트 정보: 로컬 호스트는: "< 호스트 이름 >"; 대상 호스트 문제: "< 호스트 이름 >": 8020;org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:764)에서org.apache.hadoop.ipc.Client.call(Client.java:1415)에서org.apache.hadoop.ipc.Client.call(Client.java:1364)에서org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)에서com.sun.proxy.$Proxy14.getBlockLocations (알 수 없는 소스)에org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getBlockLocations(ClientNamenodeProtocolTranslatorPB.java:246)에서sun.reflect.NativeMethodAccessorImpl.invoke0 (네이티브 메서드)에sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)에서sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)에서java.lang.reflect.Method.invoke(Method.java:606)에서org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)에서org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)에서com.sun.proxy.$Proxy15.getBlockLocations (알 수 없는 소스)에org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1179)에서org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1169)에서org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1159)에서org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:270)에서org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:237)에서org.apache.hadoop.hdfs.DFSInputStream. < 초기화 > (DFSInputStream.java:230)에서org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1457)에서org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:301)에서org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:297)에서org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)에서org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:297)에서가 발생 했습니다: java.io.IOException: javax.security.sasl.SaslException: GSS 초기화에 실패 했습니다 [GSSException 때문에 생긴: 제공 되는 유효한 자격 증명이 없는 (메커니즘 수준: 모든 Kerberos tgt를 찾지 못했습니다)]org.apache.hadoop.ipc.Client$Connection$1.run(Client.java:679)에서java.security.AccessController.doPrivileged (네이티브 메서드)에javax.security.auth.Subject.doAs(Subject.java:415)에서org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)에서org.apache.hadoop.ipc.Client$Connection.handleSaslConnectionFailure(Client.java:642)에서org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:725)에서org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)에서org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)에서org.apache.hadoop.ipc.Client.call(Client.java:1382)에서

먼저, 작업에는 현재와 유효한 kerberos 티켓 확인 된 유효한 티켓을 사용 해도이 오류를 볼 수 있지만 전송 하는 사용자 확인 합니다.클러스터 이름과 노드 고가용성으로 구성 된는 RxHadoopMR()에서 정확 하 게 해야 하 고 현재 이름 노드 호스트 이름을 지정 하는 작동 하지만 노드 이름 서비스를 지정 하는 스크립트에서 호출 하는 RxHdfsFileSystem(). 경우는 kerberized 및 HA 이름 노드 환경에서 HDFS_DELEGATION_TOKEN nameservice 참조를 일치 해야 합니다. 위의 오류가 표시 됩니다.

정보 보안입니다. TokenCache: dt hdfs://nameservice1;에 있어 종류: HDFS_DELEGATION_TOKEN, 서비스: ha-hdfs:nameservice1, Ident: (HDFS_DELEGATION_TOKEN 242420에 대 한 토큰 a377683

이 경우 "nameservice1"로 RxHadoopMR()와 RxHdfsFileSystem()에서에서 nameNode/호스트 이름 인수를 설정 해야 합니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.