Подтвердить что ты не робот

Прямая трансляция. Ошибка задания. Ошибка запуска контейнера AM в Hadoop 2.3.0.

Я установил кластер 2 node Hadoop 2.3.0. Он отлично работает, и я могу успешно запустить файл spreadshell-2.2.0.jar. Но когда я пытаюсь запустить любую работу с mapreduce, я получаю ошибку. У меня есть настройка MapRed.xml и других конфигураций для выполнения задания MapReduce в соответствии с (http://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide), но я получаю следующую ошибку:

14/03/22 20:31:17 INFO mapreduce.Job: Job job_1395502230567_0001 failed with state FAILED due to: Application application_1395502230567_0001 failed 2 times due to AM Container for appattempt_1395502230567_0001_000002 exited 
with  exitCode: 1 due to: Exception from container-launch: org.apache.hadoop.util.Shell$ExitCodeException: 
    org.apache.hadoop.util.Shell$ExitCodeException: 
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:505)
        at org.apache.hadoop.util.Shell.run(Shell.java:418)
        at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
        at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)
        at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:283)
        at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:79)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)


    Container exited with a non-zero exit code 1
    .Failing this attempt.. Failing the application.
    14/03/22 20:31:17 INFO mapreduce.Job: Counters: 0
    Job ended: Sat Mar 22 20:31:17 PKT 2014
    The job took 6 seconds.

И если посмотреть на stderr (журнал задания), то есть только одна строка "Could not find or load main class 614"

Теперь у меня есть googled, и обычно эти проблемы возникают, когда у вас разные версии JAVA или в yarn-site.xml classpath не установлен правильно, мой yarn-site.xml имеет этот

  <property>
    <name>yarn.application.classpath</name>
    <value>/opt/yarn/hadoop-2.3.0/etc/hadoop,/opt/yarn/hadoop-2.3.0/*,/opt/yarn/hadoop-2.3.0/lib/*,/opt/yarn/hadoop-2.3.0/*,/opt/yarn/hadoop-2.3.0/lib/*,/opt/yarn/hadoop-2.3.0/*,/opt/yarn/hadoop-2.3.0/lib/*,/opt/yarn/hadoop-2.3.0/*,/opt/yarn/hadoop-2.3.0/lib/*</value>
  </property>

Итак, любые другие идеи, что может быть проблемой здесь?

Я запускаю свою работу по созданию mapreduce следующим образом:

$HADOOP_PREFIX/bin/hadoop jar $HADOOP_PREFIX/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter out
4b9b3361

Ответ 1

Я столкнулся с такой же проблемой при попытке установить Hortonworks HDP 2.1 вручную. Мне удалось захватить контейнерную пусковую установку script, которая содержала следующее:

#!/bin/bash

export NM_HTTP_PORT="8042"
export LOCAL_DIRS="/data/1/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001,/data/2/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001,/data/3/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001,/data/4/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001"
export JAVA_HOME="/usr/java/latest"
export NM_AUX_SERVICE_mapreduce_shuffle="AAA0+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
export CLASSPATH="$PWD:$HADOOP_CONF_DIR:$HADOOP_COMMON_HOME/share/hadoop/common/*:$HADOOP_COMMON_HOME/share/hadoop/common/lib/*:$HADOOP_HDFS_HOME/share/hadoop/hdfs/*:$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*:$HADOOP_YARN_HOME/share/hadoop/yarn/*:$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*:job.jar/job.jar:job.jar/classes/:job.jar/lib/*:$PWD/*"
export HADOOP_TOKEN_FILE_LOCATION="/data/2/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001/container_1406927878786_0001_01_000001/container_tokens"
export NM_HOST="test02.admin.hypertable.com"
export APPLICATION_WEB_PROXY_BASE="/proxy/application_1406927878786_0001"
export JVM_PID="$$"
export USER="doug"
export HADOOP_HDFS_HOME="/usr/lib/hadoop-hdfs"
export PWD="/data/2/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001/container_1406927878786_0001_01_000001"
export CONTAINER_ID="container_1406927878786_0001_01_000001"
export HOME="/home/"
export NM_PORT="62404"
export LOGNAME="doug"
export APP_SUBMIT_TIME_ENV="1406928095871"
export MAX_APP_ATTEMPTS="2"
export HADOOP_CONF_DIR="/etc/hadoop/conf"
export MALLOC_ARENA_MAX="4"
export LOG_DIRS="/data/1/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001,/data/2/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001,/data/3/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001,/data/4/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001"
ln -sf "/data/1/hadoop/yarn/local/usercache/doug/filecache/10/libthrift-0.9.2.jar" "libthrift-0.9.2.jar"
ln -sf "/data/4/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001/filecache/13/job.xml" "job.xml"
mkdir -p jobSubmitDir
ln -sf "/data/3/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001/filecache/12/job.split" "jobSubmitDir/job.split"
mkdir -p jobSubmitDir
ln -sf "/data/2/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001/filecache/11/job.splitmetainfo" "jobSubmitDir/job.splitmetainfo"
ln -sf "/data/1/hadoop/yarn/local/usercache/doug/appcache/application_1406927878786_0001/filecache/10/job.jar" "job.jar"
ln -sf "/data/2/hadoop/yarn/local/usercache/doug/filecache/11/hypertable-0.9.8.0-apache2.jar" "hypertable-0.9.8.0-apache2.jar"
exec /bin/bash -c "$JAVA_HOME/bin/java -Dlog4j.configuration=container-log4j.properties -Dyarn.app.container.log.dir=/data/4/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001 -Dyarn.app.container.log.filesize=0 -Dhadoop.root.logger=INFO,CLA  -Xmx1024m org.apache.hadoop.mapreduce.v2.app.MRAppMaster 1>/data/4/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001/stdout 2>/data/4/hadoop/yarn/logs/application_1406927878786_0001/container_1406927878786_0001_01_000001/stderr "

Лицом, устанавливающим CLASSPATH, был виновник. Чтобы решить проблему, мне пришлось установить переменные HADOOP_COMMON_HOME, HADOOP_HDFS_HOME, HADOOP_YARN_HOME и HADOOP_MAPRED_HOME в hadoop-env.sh, чтобы указать соответствующие каталоги в разделе /usr/lib. В каждом из этих каталогов мне также нужно было установить иерархию подкаталогов share/hadoop/..., где могли быть найдены банки.

Ответ 2

Я исправил проблему, из-за неправильных путей. Предоставляя полный путь к картеру, hdfs, пряжа и общее решение проблемы.

Спасибо, Тони

Ответ 3

Пожалуйста, проверьте свойство. Убедитесь, что все необходимые банки присутствуют.

   ** yarn.application.classpath **    /и т.д./Hadoop/CONF,/USR/Library/Hadoop/,/USR/Library/Hadoop/Library/,/USR/Library/Hadoop-HDFS/,/USR/Library/Hadoop-HDFS/Library/,/USR/Library/Hadoop-нить/,/USR/Library/Hadoop-нить/Library/,/USR/Library/Hadoop-MapReduce/,/USR/Library/Hadoop-MapReduce/Library/

Ответ 4

Сначала проверьте журналы (они будут находиться в каталоге пользователя в каталоге журналов Hadoop).

Также проверьте разрешения всех каталогов, упомянутых в пряжи, hdfs, XML файлах основного сайта. Потому что эта ошибка вызвана неправильными разрешениями в большинстве случаев.

Ответ 5

Возможно, вы можете запустить HistoryServer со следующим кодом под $HADOOP_HOME/bin,

./mr-jobhistory-daemon.sh start historyserver

И затем вы можете управлять журналами Hadoop Error из этого URL-адреса, (Журнал истории)

http://<Resource Manager Host name adress>:8088/cluster

И, скорее всего, вы получите исключение класса Not Found

Ответ 6

Я также столкнулся с этой проблемой на Ambari 2.0 + HDP2.3 + HUE3.9 мой экспериментальный эксперимент: 1. убедитесь, что искровой клик существует на всей сухой мантии node 2. экспортируйте SPARK_HOME на всю пряжу node (искровой клиент) и хост-хост

Ответ 7

Разрешения должны быть 6050 владельцев: root group hadoop

--- Sr-s --- 1 root hadoop/usr/lib/hadoop-yarn/bin/container-executor

Ответ 8

Проверьте размер свопинга в вашей системе: free -m Если есть Swap: 0 0 0, выделите Swap-память, следуя этим инструкциям

Ответ 9

В моем случае проблема была из-за недостаточной памяти. Я вставлял нижеследующее в yarn-site-xml, как предлагал adino в своем комментарии выше:

<property> <name>yarn.nodemanager.delete.debug-delay-sec</name> <value>600</value> </property>

После этого я мог видеть ошибку в файле журнала stderr. Я не помню точной формулировки (файл журнала удалялся через некоторое время). Это было похоже на ошибку "из памяти"

Я отредактировал свою виртуальную машину, чтобы добавить еще один раздел подкачки размером 3 гигабайта (вероятно, полный перебор). Я сделал это с Gparted.

Затем мне пришлось регистрировать новый раздел подкачки, набрав

mkswap /dev/sda6 (/dev/sda6 is the partition name)
swapon /dev/sda6 

Я нашел uid нового раздела подкачки, набрав "blkid" и скопировав uid.

Я зарегистрировал своп в файл fstab:

sudo vi /etc/fstab

Я добавил новую строку для нового раздела подкачки. Я скопировал всю строку из предыдущего раздела подкачки и только что изменил UID.

UUID=2d29cddd-e721-4a7b-95c0-7ce52734d8a3 none  swap    sw      0       0

После этого ошибка исчезла. Я уверен, что есть более элегантные способы решить эту проблему, но это сработало для меня. Я новичок в работе с Linux.

Ответ 10

Вам нужно будет отложить удаление журнала, установив yarn.nodemanager.delete.debug-delay-sec в 600.

Это позволит вам просматривать stderr, stdout и syslog в /hadoop/yarn/log в соответствующем каталоге контейнера.

Скорее всего, вы найдете ошибку в syslog. И, скорее всего, это будет ClassNotFoundException для класса tez.history.logging.service.class= org.apache.tez.dag.history.logging.ats.ATSV15HistoryLoggingService.

Если это так, обратитесь к следующему билету:

https://issues.apache.org/jira/browse/AMBARI-15041

Ответ 11

Я решил этот вопрос следующим образом:

Потому что в моем каталоге hadoop/etc/hadoop [hasoop-2.7.3]: О mapred-site.xml:

<configuration>
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>
 <property>
   <name>mapreduce.jobhistory.address</name>
   <value>zhangjunj:10020</value>
 </property>
 <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>zhangjunj:19888</value>
 </property>
</configuration>

В этом файле. "Zhangjunj" должен быть вашим именем главной машины, но я написал "hadoop" в начале.