gpt4 book ai didi

java - Hadoop 设置 - Java 尝试访问窗口服务器

转载 作者:可可西里 更新时间:2023-11-01 15:38:15 26 4
gpt4 key购买 nike

当我在 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 试图访问窗口服务器时(即使它是一个命令行程序)。出于安全原因,如果没有图形登录,这是不允许的。这当然意味着如果您运行的是 headless 服务器,则必须在守护进程运行之前进行物理登录。

现在,不用大声疾呼 Java 和/或开发人员是如何这样做的(这似乎是一种趋势;我使用的唯一其他 Java 服务器组件做同样的事情),我找到了这个选项:

-Djava.awt.headless=true

这看起来像是一个可能的解决方案。但是我不仅不知道在哪里将选项传递给Hadoop,而且我在其他软件上试过了,它仍然报错。

如果有任何帮助,我将不胜感激。

最佳答案

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

  1. Hadoop 不会附加到日志文件...如果存在,它会离开它并静默地不写入任何日志。所以我在查看旧的日志文件。
  2. 其他软件仍然无法运行,但他们表示他们已发现该错误并正在修复它。

关于java - Hadoop 设置 - Java 尝试访问窗口服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21997831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com