我得到在Hadoop启动这个错误在OSX 10.7:
无法加载从SCDynamicStore领域信息放:org.apache.hadoop.hdfs.server.namenode.SafeModeException:无法创建目录/用户/特拉维斯/输入/ conf目录。 名称节点是在安全模式。
它似乎并没有被引起使用Hadoop的功能的任何问题。
我得到在Hadoop启动这个错误在OSX 10.7:
无法加载从SCDynamicStore领域信息放:org.apache.hadoop.hdfs.server.namenode.SafeModeException:无法创建目录/用户/特拉维斯/输入/ conf目录。 名称节点是在安全模式。
它似乎并没有被引起使用Hadoop的功能的任何问题。
马修Buckett在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。 不幸的是,上述方案没有与此版本解决这个问题:(
编辑:我找到了解决这个的基础上,提示我看到了这里 。 在hadoop-env.sh
文件,更改JAVA_HOME
设置:
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
(注坟墓的报价在这里。)
仅供参考,您可以通过只指定以下进一步简化这一点:
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"
上cdh4.1.3执行start-yarn.sh(或start-all.sh)之前
从Eclipse的调试MapReduce的,当我有这个错误,但它是一个红鲱鱼。 真正的问题是,我应该加入调试参数到JAVA_OPTS已远程调试
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044
然后创建在指出端口1044的调试配置一个新的“远程Java应用程序”的个人资料。
这篇文章有一些关于事物的调试方面更深入的信息。 它在谈论Solr的,但工作起来用Hadoop一样。 如果你有麻烦,下面贴留言,我会尽力帮助。