вот кикер:
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:
Директория / tmp / hadoop-anshu / dfs / name
находится в несовместимом состоянии: хранилище
каталог не существует или не существует
доступный.
У меня были похожие проблемы. я использовал stop-all.sh, чтобы выключить hadoop. я думаю, что было бы глупо с моей стороны думать, что это правильно сохранит данные в моей HDFS.
но, насколько я могу судить по тому, что кажется подходящим фрагментом кода в сценарии hadoop-daemon.sh, это не так - он просто убивает процессы:
(stop)
if [ -f $pid ]; then
if kill -0 `cat $pid` > /dev/null 2>&1; then
echo stopping $command
kill `cat $pid`
else
echo no $command to stop
fi
else
echo no $command to stop
fi
Вы смотрели, существует ли каталог, на который он жалуется? я проверил, а мой - нет, хотя там была (пустая!) папка с данными, я думаю, что данные могли когда-то жить.
поэтому я предположил, что нам нужно настроить Hadoop таким образом, чтобы наши namenode и datanode НЕ сохранялись в каталоге tmp. Существует некоторая вероятность того, что ОС выполняет обслуживание и избавляется от этих файлов. либо этот хеймбл полагает, что вы больше не заботитесь о них, потому что вы не оставили бы их в каталоге tmp, если бы это сделали, и вы не перезапустили бы свой компьютер в середине работы по уменьшению карты. Я не думаю, что это должно произойти (я имею в виду, это не то, как i будет проектировать вещи), но это казалось хорошим предположением.
так, на основании этого сайта http://wiki.datameer.com/display/DAS11/Hadoop+configuration+file+templates
я отредактировал файл conf / hdfs-site.xml, указав следующие пути (очевидно, создайте свои собственные каталоги, как считаете нужным):
<property>
<name>dfs.name.dir</name>
<value>/hadoopstorage/name/</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoopstorage/data/</value>
</property>
Сделал это, отформатировал новый namenode (к сожалению, потеря данных кажется неизбежной в этой ситуации), остановил и запустил hadoop со скриптами оболочки, перезапустил машину, и мои файлы все еще были там ...
YMMV ... надеюсь, это работает для вас! Я работаю на OS X, но не думаю, что у вас должны быть разные результаты.
* * J тысяча двадцать восемь