`

hadoop-0.20.2安装找不到JAVA_HOME解决办法

阅读更多
在安装hadoop-0.20.2时出现了找不到JAVA_HOME,配置方法跟官方的版本一致,具体请参考前边的文章或者网上的文档。最好每台机子上配置的JDK都一样,要不然会出现很奇怪的问题。配置好以后,运行start-all.sh时,确出现如下的报错:
======================================================================+
|      Error: JAVA_HOME is not set and Java could not be found         |
+----------------------------------------------------------------------+
| Please download the latest Sun JDK from the Sun Java web site        |
|       > http://java.sun.com/javase/downloads/ <                      |
|                                                                      |
| Hadoop requires Java 1.6 or later.                                   |
| NOTE: This script will find Sun Java whether you install using the   |
|       binary or the RPM based installer.                             |
+======================================================================+
明明在hadoop-env.sh设置好了,为了保险,又在/etc/profile设置了一遍。以hadoop用户登陆系统,在任意路径执行 echo $JAVA_HOME ,显示"/usr/local/jdk",是我服务器jdk正确的路径啊!再查一下文档,云:需要jdk1.6以上的版本,我使用的是 jdk1.6.0_16,应该符合要求的。

那问题又会在哪里呢?grep一把,看那些文件包含字符串JAVA_HOME.先搜hadoop/conf,只有hadoop-env.sh包含这个字串。再换一个目录hadoop/bin,查看一下,其输出如下:
[root@hadoops2 hadoop]# grep JAVA_HOME bin/*bin/hadoop:export JAVA_HOME=/usr/local/jdkbin/hadoop:#   JAVA_HOME        The java implementation to use.  Overrides JAVA_HOME.
bin/hadoop:if [ "$JAVA_HOME" != "" ]; then
bin/hadoop:  #echo "run java in $JAVA_HOME"
bin/hadoop:  JAVA_HOME=$JAVA_HOME
bin/hadoop:if [ "$JAVA_HOME" = "" ]; then
bin/hadoop:  echo "Error: JAVA_HOME is not set."
bin/hadoop:JAVA=$JAVA_HOME/bin/java
bin/hadoop:CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
bin/hadoop-config.sh:if [ -z "$JAVA_HOME" ]; then
bin/hadoop-config.sh:      export JAVA_HOME=$candidate
bin/hadoop-config.sh:  if [ -z "$JAVA_HOME" ]; then
bin/hadoop-config.sh:|      Error: JAVA_HOME is not set and Java could not be found         |
bin/rcc:#   JAVA_HOME        The java implementation to use.  Overrides JAVA_HOME.
bin/rcc:if [ "$JAVA_HOME" != "" ]; then
bin/rcc:  #echo "run java in $JAVA_HOME"
bin/rcc:  JAVA_HOME=$JAVA_HOME
bin/rcc:if [ "$JAVA_HOME" = "" ]; then
bin/rcc:  echo "Error: JAVA_HOME is not set."
bin/rcc:JAVA=$JAVA_HOME/bin/java
bin/rcc:CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar

嘿!好几个文件都与JAVA_HOME相关呢。接着挨个查看文件,感觉hadoop-config.sh这个文件嫌疑最大,其内容刚好有一段与运行hadoop报错内容相一致,我把程序片段贴在下面:
# attempt to find java
if [ -z "$JAVA_HOME" ]; then
  for candidate in \
    /usr/lib/jvm/java-6-sun \
    /usr/lib/j2sdk1.6-sun \
    /usr/local/jdk \
    /usr/java/jdk1.6* \
    /usr/java/jre1.6* \
    /Library/Java/Home ; do
    if [ -e $candidate/bin/java ]; then
      export JAVA_HOME=$candidate
      break
    fi
  done
  # if we didn't set it
  if [ -z "$JAVA_HOME" ]; then
    cat 1>&2 <<EOF
+======================================================================+
|      Error: JAVA_HOME is not set and Java could not be found         |
+----------------------------------------------------------------------+
| Please download the latest Sun JDK from the Sun Java web site        |
|       > http://java.sun.com/javase/downloads/ <                      |
|                                                                      |
| Hadoop requires Java 1.6 or later.                                   |
| NOTE: This script will find Sun Java whether you install using the   |
|       binary or the RPM based installer.                             |
+=====================================================================
我在这段中间加如行 " /usr/local/jdk \",然后在运行,一切就正常了!
希望对大家有所帮助!
2
1
分享到:
评论

相关推荐

    hadoop-0.20.2安装手册

    ### Hadoop-0.20.2安装与配置详解 #### 一、Hadoop-0.20.2概述 Hadoop是一款支持大数据处理的开源软件框架,它能够高效地处理PB级别的数据集。Hadoop-0.20.2版本作为早期的一个稳定版本,在很多场景中仍然具有重要...

    hadoop-0.20.2-eclipse-plugin.jar

    《Hadoop 0.20.2与Eclipse Plugin集成详解》 在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力,使得海量数据的处理成为可能。而Eclipse作为Java开发的主流IDE,其强大的功能和...

    CentOS下Hadoop-0.20.2集群配置文档.docx

    在每个节点的/home/hadoop/install目录下,存放着hadoop-0.20.2的安装文件。 为了实现Hadoop集群的正常运行,第一步是配置SSH无密码登录。SSH(Secure Shell)协议用于节点间的安全通信,NameNode需要能够无密码...

    CentOS下Hadoop-0.20.2集群配置文档

    1. **环境准备**:确保所有节点时间同步,安装Java环境(Hadoop依赖Java运行),设置环境变量`JAVA_HOME`。 2. **下载与解压Hadoop**:从官方网站获取Hadoop-0.20.2的源码或二进制包,解压到指定目录,如`/usr/...

    eclipse3.3+hadoop-0.20.0+hadoop-0.20.0-eclipse-plugin环境成功搭建.docx

    2. 设置JAVA_HOME环境变量,打开`hadoop-env.sh`文件(位于`/home/yinux/Hadoop/hadoop-0.20.2/conf`目录下),将JAVA_HOME设置为你的JDK安装路径,如`/usr/lib/jvm/java-6-openjdk`。 3. 配置Hadoop的相关配置文件...

    fedora 安装hadoop0.20.2

    ### Fedora 下安装 Hadoop 0.20.2 的详细步骤及原理 #### 一、安装背景与概述 Hadoop 是一个开源软件框架,用于分布式处理大规模数据集。通过使用 Hadoop,用户能够轻松地在不了解分布式计算底层细节的情况下开发...

    Hadoop集群安装详细步骤

    在$HADOOP_HOME/conf/hadoop-env.sh中定义了Hadoop启动时需要的环境变量设置,其中我们至少需要配置JAVA_HOME(Jdk的路径)变量;另外我们一般还需要更改HADOOP_LOG_DIR(Hadoop的日志路径)这个变量,默认的设置是...

    hadoop安装配置指南

    配置Hadoop环境变量`hadoop-env.sh`,将`JAVA_HOME`指向Java的安装位置: ``` sudo vim conf/hadoop-env.sh ``` 将`export JAVA_HOME=XXX`修改为实际路径,例如: ``` export JAVA_HOME=/usr/lib/jvm/java-6-sun ...

    windows上建立hadoop+eclipse开发环境

    - 切换到Hadoop安装目录`/cygdrive/d/hadoop/hadoop-0.20.2`。 - 格式化Namenode:`bin/hadoop namenode –format`。 - 启动所有Hadoop服务:`bin/start-all.sh`。 - 使用`jps`命令检查进程,确保JobTracker和...

    hadoop的伪分布式模式配置与安装

    ### Hadoop伪分布式模式配置与安装详解 #### 一、前言 在深入探讨Hadoop伪分布式模式的配置与安装之前,我们先简单回顾一下Hadoop的基本概念以及它为何重要。Hadoop是一个开源框架,用于分布式存储和处理大规模...

    hadoop和hbase分布式配置及整合eclipse开发.pdf

    export HADOOP_HOME=/cygdrive/e/hadoop-0.20.2 export PATH=$PATH:$HADOOP_HOME/bin ``` 这些配置使得在Cygwin环境中可以直接使用Hadoop的命令。 #### 五、HBase配置 对于HBase的配置,文档中并未给出具体的步骤,...

    ubuntu环境下hadoop环境搭建(伪分布模式)

    - 解压缩Hadoop:同样使用`sudo tar xzvf hadoop0.20.2.tar.gz`解压Hadoop,解压后Hadoop安装完成。 - 安装SSH:使用`sudo apt-get install ssh`来安装SSH服务,用于节点间通信。 - 安装rsync:通过`sudo apt-get...

    在windows上建立hadoop+eclipse开发环境

    8. **安装Eclipse插件**:对于Hadoop0.20.2,原生的`hadoop-0.20.2-eclipse-plugin.jar`可能不兼容,因此需要从其他来源获取兼容的插件。将下载的插件文件复制到Eclipse的plugins目录,重启Eclipse后即可在IDE中创建...

    hadoop安装配置文档.pdf

    安装后需要在/etc/profile中添加环境变量,例如JAVA_HOME、CLASSPATH和PATH。 三、Hadoop安装配置 1. 以root用户登录系统,并建立一个名为hadoop的用户。 2. 在hadoop用户目录下生成SSH密钥对,使用ssh-keygen命令...

    Hadoop安装保你一次成功.pdf

    安装Hadoop时,通常需要将下载的Hadoop二进制包解压缩到指定目录,例如/usr/local/hadoop。然后,配置Hadoop的配置文件,如hadoop-env.sh和core-site.xml,以设定HDFS(Hadoop Distributed File System)和MapReduce...

    eclipse构建HBase开发环境并运行实例对Hbase建表增删改查

    在本例中,我们使用的HBase版本为hbase-0.90.5,Hadoop版本为Hadoop-0.20.2。 二、Eclipse开发环境配置 1. 复制HBase部署文件:首先需要从HBase集群中复制一份HBase部署文件,并将其放置在开发端某一目录下(如/...

Global site tag (gtag.js) - Google Analytics