我最近安装了CDH5.1.0和R 3.1。*,并且安装了rmr2,rJava和rhdfs。 (以及所需的软件包并设置所需的环境variables)安装rhdfs后,我添加到我的/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"
然后我开始R并运行下面的代码:
>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
我已经看到了与java类path类似的问题,但我还没有发现在互联网上的其他任何地方这个具体的问题! 任何帮助将非常感激。
我有同样的问题HDP 2.1。 在GitHub上查看 以下MapR和RevR的 链接 。 看来, LD_LIBRARY_PATHvariables需要设置为rJava.sovariables。
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/"
现在在RI中运行rhdfs时,得到以下警告,但似乎工作:
> 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