hadoop: datanode не работает?

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

Все развернуто нормально, но когда я делаю jps для просмотра активных процессов, datanode не отображается.

Я попытался запустить датоделу вручную, перейдя к $HADOOP_HOME/bin : hadoop -datanode, но безрезультатно.

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

Кроме того, я хочу знать, может ли одна машина иметь 2 установки hadoop. Я использую один для mapreduce процессов и другой для поисковой системы. ? так что их каталог другой, это нормально? Кроме того, я запускаю одну операцию hadoop одновременно.

РЕДАКТИРОВАТЬ 1 #: - , если это помогает, вот журнал, когда я пытался запустить датодан через $HADOOP_HOME.

root@thinktank:/usr/local/hadoop/bin# hadoop datanode
Warning: $HADOOP_HOME is deprecated.

13/08/27 16:34:57 INFO datanode.DataNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = thinktank/127.0.1.1
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013  
STARTUP_MSG:   java = 1.6.0_27  
************************************************************/  
13/08/27 16:34:57 INFO impl.MetricsConfig: loaded properties from hadoop-metrics2.properties  
13/08/27 16:34:57 INFO impl.MetricsSourceAdapter: MBean for source   MetricsSystem,sub=Stats registered.  
13/08/27 16:34:57 INFO impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).  
13/08/27 16:34:57 INFO impl.MetricsSystemImpl: DataNode metrics system started  
13/08/27 16:34:57 INFO impl.MetricsSourceAdapter: MBean for source ugi registered.  
13/08/27 16:34:57 WARN impl.MetricsSystemImpl: Source name ugi already exists!  
13/08/27 16:34:57 ERROR datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /app/hadoop/tmp/dfs/data: namenode namespaceID = 1955988395; datanode namespaceID =   1705269445
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:414)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1812)

13/08/27 16:34:57 INFO datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at thinktank/127.0.1.1
************************************************************/
5
задан 27 August 2013 в 22:52

2 ответа

  1. DataNode пытается запуститься, но затем закрывается. Это может быть проверено hadoop datanode -start.
  2. Проблема происходит из-за Несовместимого namespaceID.So, удалите tmp команды использования каталога

    sudo rm -Rf  /app/hadoop/tmp
    
  3. Затем выполните шаги от:

    sudo mkdir -p /app/hadoop/tmp    
    

    http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

2
ответ дан 27 August 2013 в 22:52

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

Если у вас также возникла та же проблема с несовместимыми идентификаторами пространств имен, попробуйте следующее, для меня это сработало. Оставляйте комментарии, если у вас все еще есть проблемы, и я перезвоню вам.

Решение:
1. Остановите проблемные узлы данных.
2. Измените значение namespaceID в $ {dfs.data.dir} / current / VERSION, чтобы сопоставить соответствующее значение текущего NameNode в $ {dfs.name.dir} / current / VERSION.
3. Перезапустите фиксированный DataNode. Это решит проблему для вас.

0
ответ дан 27 August 2013 в 22:52

Другие вопросы по тегам:

Похожие вопросы: