Hadoop - / usr / bin / hadoop: linha 320: / usr / bin / java / bin / java: não é um diretório

3

Estou instalando o Hadoop no CentOS 6.4.
Siga estas instruções link

wget http://apache.osuosl.org/hadoop/common/hadoop-1.1.2/hadoop-1.1.2-1.x86_64.rpm
chmod 700 hadoop-1.1.2-1.x86_64.rpm
rpm -Uvh hadoop-1.1.2-1.x86_64.rpm

O Java está localizado em / usr / bin / java

[root@localhost ~]# /usr/bin/java -version
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

defina JAVA_HOME

vi /etc/hadoop/hadoop-env.sh 

mudou
exportar JAVA_HOME = / usr / bin / java / bin / java para o
exportar JAVA_HOME = / usr / bin / java

[root@localhost ~]# . /etc/hadoop/hadoop-env.sh
[root@localhost ~]# echo $JAVA_HOME
/usr/bin/java

Mas o Hadoop ainda falha, pois tem o antigo caminho Java incorreto

[root@localhost ~]# /usr/bin/hadoop version
/usr/bin/hadoop: line 320: /usr/bin/java/bin/java: Not a directory

Como corrijo esta mensagem de erro?

    
por davidjhp 15.06.2013 / 01:19

3 respostas

4

JAVA HOME precisa ser definido apenas para /usr , para que a adição de bin/java o coloque no lugar certo.

# export JAVA_HOME="/usr"
# /usr/bin/hadoop version
    
por 15.06.2013 / 02:53
1

O JAVA_HOME deve sempre apontar para o diretório inicial da instalação do java, a configuração para / usr não é recomendada na prática. Além disso, se qualquer uma das outras aplicações instaladas em sua caixa dependerem do JAVA_HOME e ele esperaria que apontasse para /usr/java/jdk1.7 (fox ex).

export JAVA_HOME = / usr / java / jdk1.7 (Você pode fazer isso em /etc/hadoop/hadoop-env.sh).

Além disso, adicionar o caminho da localização dos Binários do hadoop (por exemplo, / usr / local / hadoop / bin) para $ PATH permitiria que você simplesmente digitasse o comando em vez do caminho completo do comando.

    
por 25.09.2014 / 04:48
1

Como mencionado, o problema é resolvido configurando a localização real do Java em vez de um link para ele, para encontrá-lo:

(Substitua o caminho de 2,3 com o resultado do anterior)

$ which java
$ ls -alh /usr/bin/java
$ ls -alh /etc/alternatives/java

Agora você pode definir isso em seu .bashrc ou .profile ou onde quer que você precise.

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=$PATH:$JAVA_HOME
    
por 07.07.2015 / 09:16

Tags