Hadoop安装程序-Java正在尝试访问Windows服务器
当我在Mac OS X上的Hadoop 2.2.0中启动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
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。但这里是它变得奇怪的地方: