Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop安装程序-Java正在尝试访问Windows服务器_Java_Macos_Hadoop - Fatal编程技术网

Hadoop安装程序-Java正在尝试访问Windows服务器

Hadoop安装程序-Java正在尝试访问Windows服务器,java,macos,hadoop,Java,Macos,Hadoop,当我在Mac OS X上的Hadoop 2.2.0中启动start dfs.sh时,错误消息中隐藏了以下内容: 2014-02-24 14:48:23,448 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain java.lang.InternalError: Can't connect to window server - not enough permissions. at ja

当我在Mac OS X上的Hadoop 2.2.0中启动
start dfs.sh
时,错误消息中隐藏了以下内容:

2014-02-24 14:48:23,448 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.lang.InternalError: Can't connect to window server - not enough permissions.
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1833)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1730)
    ...
我以前处理过这个错误——它发生在Java试图访问Windows服务器时(即使它是一个命令行程序)。出于安全原因,如果没有图形登录,这是不允许的。这当然意味着,如果您运行的是无头服务器,则必须在守护进程运行之前物理登录

现在,我没有大骂Java和/或开发人员做这件事有多么愚蠢(这似乎是一种趋势;我使用的唯一其他Java服务器组件也做同样的事情),我发现了以下选项:

-Djava.awt.headless=true
这看起来是一个可能的解决方案。但我不仅不知道在哪里把这个选项传递给Hadoop,而且我在另一个软件上尝试了它,它仍然给出了错误


我非常感谢任何帮助。

所以我试了一下,结果发现有两件事发生了。这个选项实际上是有效的。。。对于Hadoop。但这里是它变得奇怪的地方:

  • Hadoop不会附加到日志文件。。。如果存在一个日志,它将离开该日志,并且不会写入任何日志。所以我在看旧的日志文件
  • 另一个软件仍然不能工作,但他们说他们已经意识到这个错误,并且正在修复它
  • 我用以下方法修复了它:

    导出HADOOP_OPTS=“-Djava.security.krb5.realm=OX.AC.UK-Djava.security.krb5.kdc=kdc0.OX.AC.UK:kdc1.OX.AC.UK-Djava.awt.headless=true”

    在我的bashrc中