Hadoop: средство отслеживания задач не запускается java.io.IOException

Я настроил Hadoop, отформатировал HDFS, запустил bin/start-all.sh, запустил bin/stop-all.sh и проблем не было.

Теперь каждый раз, когда я запускаю bin/start-all.sh, Task Tracker не запускается, и я получаю следующую запись в своем журнале Task Tracker.

    2012-03-27 21:22:03,842 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Call to localhost/127.0.0.1:9001 failed on local exception: java.io.IOException: Connection reset by peer
    at org.apache.hadoop.ipc.Client.wrapException(Client.java:1065)
    at org.apache.hadoop.ipc.Client.call(Client.java:1033)
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:224)
    at org.apache.hadoop.mapred.$Proxy5.getProtocolVersion(Unknown Source)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:364)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:347)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:389)
    at org.apache.hadoop.ipc.RPC.waitForProxy(RPC.java:319)
    at org.apache.hadoop.ipc.RPC.waitForProxy(RPC.java:295)
    at org.apache.hadoop.mapred.TaskTracker$3.run(TaskTracker.java:708)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
    at org.apache.hadoop.mapred.TaskTracker.initialize(TaskTracker.java:704)
    at org.apache.hadoop.mapred.TaskTracker.(TaskTracker.java:1328)
    at org.apache.hadoop.mapred.TaskTracker.main(TaskTracker.java:3430)
Caused by: java.io.IOException: Connection reset by peer
    at sun.nio.ch.FileDispatcher.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
    at sun.nio.ch.IOUtil.read(IOUtil.java:175)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:243)
    at org.apache.hadoop.net.SocketInputStream$Reader.performIO(SocketInputStream.java:55)
    at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:142)
    at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:155)
    at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:128)
    at java.io.FilterInputStream.read(FilterInputStream.java:116)
    at org.apache.hadoop.ipc.Client$Connection$PingInputStream.read(Client.java:343)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at java.io.DataInputStream.readInt(DataInputStream.java:370)
    at org.apache.hadoop.ipc.Client$Connection.receiveResponse(Client.java:767)
    at org.apache.hadoop.ipc.Client$Connection.run(Client.java:712)

2012-03-27 21:22:03,843 INFO org.apache.hadoop.mapred.TaskTracker: SHUTDOWN_MSG:

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

Буду очень признателен за любые идеи или предложения о том, что я могу попробовать. Я надеюсь, что я разместил достаточно информации, но не слишком много. Если требуется дополнительная информация, пожалуйста, дайте мне знать.

Заранее спасибо!


person CatShoes    schedule 28.03.2012    source источник


Ответы (1)


Подтвердили ли вы, что средство отслеживания заданий работает на порту 9001 для локальной машины:

  • Найдите идентификатор процесса (pid) для JobTracker (jps -v or ps axww | grep JobTracker)
  • netstat -atnp | grep ${pid}
  • Проверьте журналы отслеживания заданий на наличие сообщений (ls -l /proc/${pid}/fd должен перечислить все открытые файлы для JobTracker, чтобы упростить поиск файла журнала)
person Chris White    schedule 28.03.2012
comment
Я сделал, как вы сказали, и трекер вакансий работает. Однако похоже, что узел name не работает. В журнале узла имени есть следующая запись: 2012-03-28 08:26:03,873 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /mnt/home/wenderni/hadoop-0.20.203.0/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. Это выглядит более серьезной проблемой, чем я думал. - person CatShoes; 28.03.2012
comment
Я так и не нашел точно, в чем была проблема, но у меня действительно все испортилось. В любом случае, я использовал альфа-версию, поэтому обновился до последней версии и все перенастроил. Пожалуйста, скажите, что сейчас у меня нет проблем. Спасибо за помощь, ваш ответ помог мне научиться эффективно использовать журналы Hadoop. - person CatShoes; 31.03.2012