Hadoop на OSX " не удалось загрузить информацию о сфере из SCDynamicStore"
Я получаю эту ошибку при запуске Hadoop на OSX 10.7:
Не удается загрузить информацию о области из SCDynamicStore ставлю: орг.апаш.платформа Hadoop.файловую систему HDFS.сервер.узел типа NameNode.SafeModeException: не удается создать каталог / user/travis/input / conf. Имя узла находится в безопасном режиме.
похоже, что это не вызывает никаких проблем с функциональностью Hadoop.
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. Если у вас есть проблемы, вставьте сообщение ниже, и я постараюсь помочь.