【问题标题】:How to fix JAVA_HOME not set on Ubuntu when hadoop-env.sh is already set?当 hadoop-env.sh 已设置时,如何修复未在 Ubuntu 上设置的 JAVA_HOME?
【发布时间】:2013-01-02 17:00:15
【问题描述】:

我已经将 hadoop-env.sh 设置为:

# export JAVA_HOME=/usr/lib/jvm/java-6-sun

但是当我启动 hadoop 时仍然有同样的错误:

Warning: $HADOOP_HOME is deprecated.

starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-namenode dyah-VirtualBox.out
localhost: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-datanode-dyah-VirtualBox.out
localhost: Error: JAVA_HOME is not set.
localhost: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-secondarynamenode-dyah-VirtualBox.out
localhost: Error: JAVA_HOME is not set.
starting jobtracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-jobtracker-dyah-VirtualBox.out
localhost: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-hduser-tasktracker-dyah-VirtualBox.out
localhost: Error: JAVA_HOME is not set.

当我输入echo $JAVA_HOME 时,它显示:/usr/lib/jvm/java-6-sun。 当我输入java -version时,它会显示java的版本。

我已经将java的路径导出到/.bashrc

我不知道这里发生了什么,因为我已经按照教程正确设置了。

【问题讨论】:

  • 我试图编辑你的格式:我看到你写了# export JAVA_HOME=/usr/lib/jvm/java-6-sun。这可能只是一个错字,但也可能意味着您在hadoop-env.sh 中的更改被忽略了,因为# 取消了您的更改。以防万一,必须尝试不带前导#
  • 哦,对不起。我忘了删除“#”。它已经开始工作了。感谢您的帮助。

标签: ubuntu hadoop java-home


【解决方案1】:

export语句被前导#注释掉,所以没有效果。

【讨论】:

    【解决方案2】:

    环境变量是全局设置的,即它应该能够用于启动 hadoop 的用户。尝试(以 root 身份)手动导出 JAVA_HOME,然后启动 hadoop。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 2012-02-08
      • 2012-07-06
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多