Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在centOS上安装rJava_R_Rjava - Fatal编程技术网

在centOS上安装rJava

在centOS上安装rJava,r,rjava,R,Rjava,我在centOS VM(cloudera cdh3u4)上安装rJava时遇到问题 我先做了:sudo R CMD javareconf [cloudera@localhost ~]$ sudo R CMD javareconf Java interpreter : /usr/bin/java Java version : 1.6.0_31 Java home path : /usr/java/jdk1.6.0_31/jre Java compiler : /usr/bin/j

我在centOS VM(cloudera cdh3u4)上安装rJava时遇到问题

我先做了:sudo R CMD javareconf

[cloudera@localhost ~]$ sudo R CMD javareconf
Java interpreter : /usr/bin/java
Java version     : 1.6.0_31
Java home path   : /usr/java/jdk1.6.0_31/jre
Java compiler    : /usr/bin/javac
Java headers gen.:
Java archive tool: /usr/bin/jar
Java library path: $(JAVA_HOME)/lib/amd64/server:$(JAVA_HOME)/lib/amd64:$(JAVA_HOME)/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -L$(JAVA_HOME)/lib/amd64 -L$(JAVA_HOME)/../lib/amd64 -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm
JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/linux

Updating Java configuration in /usr/lib64/R
Done.
但是,当我想安装rJava时,我会把它拿出来:

> install.packages( c('rJava'),
+ repos='http://cran.revolutionanalytics.com')

    ...
    configure: error: One or more Java configuration variables are not set.
    Make sure R is configured with full Java support (including JDK). Run
    R CMD javareconf
    as root to add Java support to R.

    If you don't have root privileges, run
    R CMD javareconf -e
    to set all Java-related variables and then install rJava.

    ERROR: configuration failed for package ‘rJava’
    * removing ‘/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15/rJava’

    The downloaded source packages are in
            ‘/tmp/RtmpR5V6t5/downloaded_packages’
    Warning message:
    In install.packages(c("rJava"), repos = "http://cran.revolutionanalytics.com") :
      installation of package ‘rJava’ had non-zero exit status
我不确定,但这是否意味着我需要安装JDK?如果是的话,你知道一个好的网站,在那里我可以找到一步一步的信息来为我的案例安装正确的JDK吗?
(我的最终目的是安装rhdfs,rjava是这方面所需的依赖项)

是的,您确实需要JDK

值得一提的是,我的Debian/Ubuntu包在构建我们的
r-cran-rjava
包时安装了
openjdk-6-jdk


看起来
java-1.6.0-openjdk.x86_64
包应该适合您,您也可以尝试
java-1.7.0-openjdk.x86_64

早期版本会出现间歇性问题。镜像不是最新的,请转到www.rforge.net上的源代码:。请使用

install.packages('rJava','http://www.rforge.net/)

安装。” 这几乎是正确的。这实际上是有效的:

install.packages('rJava',.libpath()[1],'http://www.rforge.net/")


“.libPaths()[1]”只是告诉R将包安装在主库目录中。出于某种原因,将值留空是不起作用的,即使它应该作为默认值使用。

试试这个,它对我有效克服了配置问题

我努力安装rJava,几乎没有学到什么东西。让我解释一下。 当您在R中发出install package命令时

install.packages("rJava")
在R环境中查找以下变量集

正在检查R中的Java支持。。。出席:口译员: “/usr/java/jdk1.8.0_111/jre/bin/java”归档程序: “/usr/java/jdk1.8.0_111/jre/。/bin/jar”编译器: “/usr/java/jdk1.8.0_111/jre/。/bin/javac”标题准备: “/usr/java/jdk1.8.0_111/jre/。/bin/javah”cpp标志: “-I/usr/lib/jvm/java/include-I/usr/lib/jvm/java/include/linux”java libs:'-L/usr/java/jdk1.8.0_111/jre/lib/amd64/server-ljvm-ldl'

我的java已安装/usr/java/jdk1.8.0_111。 验证变量指定的每个路径是否正确。下一步查找您的LD_LIBRARY_路径。我认为它在这个路径中寻找“libjvm.so”。对我来说是

export LD_LIBRARY_PATH=/usr/lib/jvm/jdk1.8.0_111/jre/lib/amd64/server:/usr/lib/jvm/jdk1.8.0_111/jre/lib/amd64/
设置JAVA_HOME env变量

首先发出命令

R CMD javareconf -e
它将设置以下变量 JAVA_HOME JAVA JAVAC JAVAH JAR JAVA_LIBS JAVA_CPPFLAGS JAVA_LD_LIBRARY_路径 修改JAVA_LIBS目录

export JAVA_LIBS="$JAVA_LIBS -ldl"
再次发出不带-e的javareconf命令

R CMD javareconf

现在进入R shell并发出rJava install命令,它应该找到所有的env变量,并且应该可以工作

谢谢。我安装了这个:$su-c“yum安装java-1.6.0-openjdk-devel”。但仍然存在一个错误。“正在检查JNI数据类型…配置:错误:一个或多个JNI类型与相应的本机类型不同。您可能需要使用非标准编译器标志或其他编译器来解决此问题。”如何解决JNI问题?您只是在更改存储库,这对设置java变量有何帮助?