Nano Hash - криптовалюты, майнинг, программирование

Пример распределенной оболочки Hadoop/Yarn

Я пытаюсь запустить пример распределенной оболочки (используя проверку SVN Hadoop, поэтому для версии установлено значение 3.0.0-SNAPSHOT):

 yarn jar share/hadoop/yarn/hadoop-yarn-applications-distributedshell-3.0.0-SNAPSHOT.jar \
 -jar share/hadoop/yarn/hadoop-yarn-applications-distributedshell-3.0.0-SNAPSHOT.jar \
 org.apache.hadoop.yarn.applications.distributedshell.Client -shell_command whoami

Однако это не работает:

12/09/03 13:44:37 FATAL distributedshell.Client: Error running CLient
java.lang.reflect.UndeclaredThrowableException
 at org.apache.hadoop.yarn.exceptions.impl.pb.YarnRemoteExceptionPBImpl.unwrapAndThrowException(YarnRemoteExceptionPBImpl.java:128)
 at org.apache.hadoop.yarn.api.impl.pb.client.ClientRMProtocolPBClientImpl.getClusterMetrics(ClientRMProtocolPBClientImpl.java:123)
 at org.hadoop.yarn.client.YarnClientImpl.getYarnClusterMetrics(YarnClientImpl.java:163)
 at org.apache.hadoop.yarn.applications.distributedshell.Client.run(Client.java:316)
 at org.apache.hadoop.yarn.applications.distributedshell.Client.main(Client.java:164)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:601)
 at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
Caused by: org.apache.hadoop.ipc.RemoteException(java.io.IOException): Unknown protocol: org.apache.hadoop.yarn.api.ClientRMProtocolPB
 at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.getProtocolImpl(ProtobufRpcEngine.java:398)
 at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:456)
 at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:898)
 at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1732)
 at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1728)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.Subject.doAs(Subject.java:415)
 at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1367)
 at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1726)

 at org.apache.hadoop.ipc.Client.call(Client.java:1164)
 at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:202)
 at $Proxy7.getClusterMetrics(Unknown Source)
 at org.apache.hadoop.yarn.api.impl.pb.client.ClientRMProtocolPBClientImpl.getClusterMetrics(ClientRMProtocolPBClientImpl.java:121)
 ... 8 more

Основная проблема, по-видимому, заключается во второй трассировке:

Unknown protocol: org.apache.hadoop.yarn.api.ClientRMProtocolPB

Кто-нибудь знает, как работает регистрация протокола для Hadoops ProtoBufRPC? Любая идея о том, как отлаживать?

Изменить. С Hadoop версии 2.0.1-alpha все работает немного лучше.

12/09/03 18:43:14 INFO distributedshell.Client: Application did not finish. YarnState=FAILED, DSFinalStatus=FAILED. Breaking monitoring loop
12/09/03 18:43:14 ERROR distributedshell.Client: Application failed to complete successfully

Так что, возможно, моя сборка не работала правильно. Любые идеи о том, что вызывает указанную выше проблему (мне бы очень хотелось использовать HEAD, так как я планирую провести некоторые низкоуровневые эксперименты, помимо MapReduce)? Или HEAD частично сломан, у вас работает распределенная оболочка на HEAD?

Мой собственный (еще не работающий...) клиент по-прежнему не работает с той же ошибкой:

Caused by: java.io.IOException: Unknown protocol: org.apache.hadoop.yarn.api.ClientRMProtocolPB

Ответы:


1

Оказалось, что основная проблема с моим собственным кодом заключалась в том, что я наивно создавал экземпляр класса Configuration вместо экземпляра YarnConfiguration. Таким образом, файлы конфигурации пряжи не были прочитаны, и он попытался связаться с серверами через их порты по умолчанию, что не соответствует моим настройкам.

Та же ошибка присутствует и в примере distributedshell.

04.09.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..