Подтвердить что ты не робот

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

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

Невозможно загрузить информацию о царстве из SCDynamicStore put: org.apache.hadoop.hdfs.server.namenode.SafeModeException: не удается создать каталог/пользователь/travis/input/conf. Имя node находится в безопасном режиме.

Он не вызывает проблем с функциональностью Hadoop.

4b9b3361

Ответ 1

Предложение Мэтью Букетта в 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"

Ответ 2

В качестве обновления к этому (и для адреса Дэвида Уильямса о 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"

Ответ 3

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

Изменить: Я нашел решение этого, основываясь на подсказке, которую я видел здесь. В файле hadoop-env.sh измените параметр JAVA_HOME на:

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

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

Ответ 4

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

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

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

Ответ 5

У меня была аналогичная проблема на 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`

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

Ответ 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

Ответ 7

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

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

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

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