Rhadoop hdfs.init () Erro

1

Eu instalei recentemente o CDH5.1.0 juntamente com o R 3.1. *, e instalei o rmr2, o rJava e o rhdfs corretamente. (juntamente com os pacotes necessários e definir as variáveis de ambiente necessárias) Após alguns problemas com a instalação de rhdfs, incluo isto no meu arquivo /usr/lib/R/etc/Renviron.site:

HADOOP_HOME="usr/lib/hadoop"
HADOOP_CMD="usr/bin/hadoop"
HADOOP_STREAMING="usr/lib/hadoop-mapreduce/hadoop-streaming-2.3.0-cdh5.1.0.jar"

Em seguida, iniciei o R e executei o seguinte código:

>library(rmr2)
 loading required packages ...
>library(rJava)
>library(rhdfs)

HADOOP_CMD=usr/bin/hadoop

be sure to run hdfs.init()
>hdfs.init()
sh: 1: usr/bin/hadoop: not found
Error in system(command, intern = TRUE) : error in running command

Eu tenho visto problemas semelhantes com o caminho de classe java, mas não encontrei esse problema específico em nenhum outro lugar na internet! Qualquer ajuda seria muito apreciada.

    
por user306603 29.07.2014 / 21:06

1 resposta

2

Eu tive o mesmo problema HDP 2.1. Observando o link a seguir no MapR e RevR no GitHub . Parece que a variável LD_LIBRARY_PATH precisa ser definida para a variável rJava.so.

HADOOP_STREAMING="/usr/lib/hadoop-mapreduce/hadoop-streaming-2.2.0.2.0.6.0-76.jar"
HADOOP_CONF="/etc/hadoop/conf"
LD_LIBRARY_PATH="/usr/lib64/R/library/rJava/libs/rJava.so"
HADOOP_COMMON_LIB_NATIVE_DIR="/usr/lib/hadoop/lib/native/"

Agora, ao executar o rhdfs no R, recebo os seguintes avisos, mas parece funcionar:

> hdfs.init()
14/11/12 09:20:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14/11/12 09:20:43 WARN hdfs.BlockReaderLocal: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.

> hdfs.ls(".")
  permission owner group    size          modtime                  file
1 drwx------  root  root       0 2014-11-07 09:50   /user/root/.staging
    
por 13.11.2014 / 06:44

Tags