【问题标题】:Rigid set JAVA_HOME variable in Linux [duplicate]Linux中的刚性设置JAVA_HOME变量[重复]
【发布时间】:2013-01-31 17:26:19
【问题描述】:

我正在尝试使用命令运行所有 hadoop 守护进程

./start-all.sh

来自主主机集群。由于执行了几次都报废了

starting namenode, logging to /export/hadoop-1.0.1/libexec/../logs/hadoop--namenode-one.out
192.168.1.10: starting datanode, logging to /export/hadoop-1.0.1/libexec/../logs/hadoop-hadoop-datanode-myhost2.out
192.168.1.10: Error: JAVA_HOME is not set.

而且在虚拟机上执行到192.168.1.10命令的地址后也发生了好几次

hadoop@myhost2:~$ export JAVA_HOME=/opt/jdk1.7.0_06

请告诉我如何一劳永逸地修复 JAVA_HOME 变量。

【问题讨论】:

标签: java linux unix hadoop environment-variables


【解决方案1】:

你也应该在hadoop-env.sh文件中设置JAVA_HOME。位于 hadoop 的$HADOOP_INSTALL/hadoop/conf 目录中。默认 JAVA_HOME 设置行被注释

hadoop-env.sh - 该文件包含一些环境变量设置 Hadoop使用。您可以使用这些来影响 Hadoop 的某些方面 守护进程行为,例如存储日志文件的位置,最大值 使用的堆数量等。您需要更改的唯一变量 在这个文件中是 JAVA_HOME

或者您可以将其添加到hadoop帐户的以下文件中。

~/.bash_proflle

【讨论】:

    【解决方案2】:

    $ vi ~/.bash_proflle

    将这一行添加到文件中

    export JAVA_HOME=/opt/jdk1.7.0_06

    这将对JAVA_HOME 环境变量进行永久性更改。

    【讨论】:

      【解决方案3】:

      将行 export JAVA_HOME=/path/to/java 放在 start-all.sh 脚本的开头,这样就可以了。

      【讨论】:

      • 但这只会为这个脚本而不是全局完成这项工作
      • 它应该适用于从脚本启动的所有守护进程。
      • 是的,但对于从该脚本启动的守护进程,仅适用于其他脚本。
      • 是的,但由于问题只在于处理从该脚本启动的那些守护程序,因此将其本地化似乎更好。
      • hadoop-env.sh 文件出现在图片中..
      猜你喜欢
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 2021-09-16
      • 2015-10-27
      • 1970-01-01
      • 2013-12-10
      • 2016-05-20
      • 1970-01-01
      相关资源
      最近更新 更多