У Hadoop/Revolution R корпоративному середовищі може не mapreduce роботу, за винятком Java залежні від kerberos:
Налаштування параметрів:
02/15/03 16:59:05 ПОПЕРЕДЖАТИ util. NativeCodeLoader: Не вдалося завантажити native, 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]
02/15/03 16:59:09 INFO hdfs. DFSClient: Створено HDFS_DELEGATION_TOKEN маркер 242420, для a377683 га-hdfs:nameservice1
02/15/03 16:59:09 відомості про безпеку. TokenCache:, Є dt для hdfs://nameservice1; Тип: HDFS_DELEGATION_TOKEN, служба: га-hdfs:nameservice1, Ident: (маркер HDFS_DELEGATION_TOKEN 242420 для a377683)
......
02/15/03 16:59:25 інформація mapreduce. Завдання: карта 0%, зменшити 0%
02/15/03 16:59:38 INFO mapreduce. Завдання: Завдання з ідентифікатором: attempt_1422647534016_1760_m_000000_0, стан: не вдалося
Помилка: java.io.IOException: R VM, що вийшов із код завершення: 1, вихід:
Запуск сценарію
[1] TRUE
$fileName
[1] NA
$start
[1] 0
$length
[1] 0
02/15/03 16:59:37 ПОПЕРЕДЖАТИ безпеки. UserGroupInformation: PriviledgedActionException як: a377683 (auth:KERBEROS) cause:javax.security.sasl.SaslException: GSS ініціювати, не вдалося [викликано GSSException: не дійсні облікові дані, що надаються (механізм рівень: не вдалося знайти будь-які tgt, Kerberos)]
02/15/03 16:59:37 ПОПЕРЕДЖАТИ ipc. Клієнт: Виняток, під час підключення до сервера: javax.security.sasl.SaslException: GSS ініціювати, не вдалося [викликано GSSException: не дійсні облікові дані, що надаються (механізм рівень: не вдалося знайти будь-які tgt, Kerberos)]
02/15/03 16:59:37 ПОПЕРЕДЖАТИ безпеки. UserGroupInformation: PriviledgedActionException як: a377683 (auth:KERBEROS) cause:java.io.IOException: javax.security.sasl.SaslException: GSS ініціювати, не вдалося [викликано GSSException: не дійсні облікові дані, що надаються (механізм рівень: не вдалося знайти будь-які tgt, Kerberos)]
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: не дійсні облікові дані, що надаються (механізм рівень: не вдалося знайти будь-які tgt, Kerberos)]; Хост-деталі: локальний хост-це: "< hostname >"; хост-це: "< hostname >": 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: не дійсні облікові дані, що надаються (механізм рівень: не вдалося знайти будь-які tgt, Kerberos)]
на 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 і найвищої гарантії ім'я вузла середовищі на HDFS_DELEGATION_TOKEN, має відповідати nameservice посилання. Помилка вище див.:
Відомості про безпеку. TokenCache:, Є dt для hdfs://nameservice1; Тип: HDFS_DELEGATION_TOKEN, служба: га-hdfs:nameservice1, Ident: (HDFS_DELEGATION_TOKEN маркера 242420 для a377683
У цьому випадку nameNode/ім'я хоста аргументів RxHadoopMR() і RxHdfsFileSystem() викликів слід установити "nameservice1".