Hadoop на OSX " не удалось загрузить информацию о сфере из SCDynamicStore"


Я получаю эту ошибку при запуске Hadoop на OSX 10.7:

Не удается загрузить информацию о области из SCDynamicStore ставлю: орг.апаш.платформа Hadoop.файловую систему HDFS.сервер.узел типа NameNode.SafeModeException: не удается создать каталог / user/travis/input / conf. Имя узла находится в безопасном режиме.

похоже, что это не вызывает никаких проблем с функциональностью Hadoop.

7 57

7 ответов:

предложение Мэтью Бакетта в HADOOP-7489 сработало для меня. Добавьте следующее к вашему hadoop-env.sh файл:

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

как обновление к этому (и к адресу Дэвид Уильямс' точка о Java 1.7), я испытал, что только установка .realm и .kdc свойства было недостаточно, чтобы остановить оскорбительное сообщение.

однако, изучая исходный файл то есть опуская сообщение я смог определить, что установка .krb5.conf свойство /dev/null было достаточно, чтобы подавить сообщение. Очевидно, что если у вас действительно есть конфигурация krb5, лучше указать реальный путь к нему.

В общем, мой hadoop-env.sh фрагмент выглядит следующим образом:

HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf=/dev/null"

у меня такая же проблема на OS X 10.8.2, Java версии 1.7.0_21. К сожалению, приведенное выше решение не устраняет проблему с этой версией : (

Edit: Я нашел решение этой проблемы, основываясь на подсказке, которую я видел здесь. В изменить JAVA_HOME параметр:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

(обратите внимание на серьезные цитаты.)

FYI, вы можете упростить это еще больше, указав только следующее:

export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="

это также упоминается в HADOOP-7489.

у меня была аналогичная проблема на MacOS, и после попытки разных комбинаций это то, что работало для меня универсально (как Hadoop 1.2, так и 2.2):

на $HADOOP_HOME/conf/hadoop-env.sh установить следующие строки:

# Set Hadoop-specific environment variables here.
export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="

# The java implementation to use.
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

надеюсь, что это поможет

, а также добавить

YARN_OPTS="$YARN_OPTS -Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

перед выполнением start-yarn.sh (или start-all.sh) на cdh4.1. 3

У меня была эта ошибка при отладке MapReduce от Eclipse, но это была красная селедка. Реальная проблема заключалась в том, что я должен был удаленно отлаживать, добавляя параметры отладки в JAVA_OPTS

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044

и затем создание нового профиля "удаленное приложение Java" в конфигурации отладки, указывающей на порт 1044.

в этой статье имеет более подробную информацию об отладочной стороне вещей. Это говорит о Solr, но работает много то же самое с Hadoop. Если у вас есть проблемы, вставьте сообщение ниже, и я постараюсь помочь.