SWR*_*SWR 7 java r centos rjava cloudera
当我想加载rJava时出错.JDK已安装.(我在CentOS VM上运行R(cloudera demo vm cdh3u4))
> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: package/namespace load failed for ‘rJava’
Run Code Online (Sandbox Code Playgroud)
LD_LIBRARY_PATH设置有问题吗?如果是,我该如何解决?我需要运行rJava来安装rhdfs.
更多信息(如果需要):
[cloudera@localhost ~]$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
Tej*_*sad 14
对于Ubuntu,安装了oracle-java(7/8).它将位于此位置/ usr/lib/jvm并且需要sudo访问权限.
/etc/ld.so.conf.d/java.conf使用以下条目创建文件:
/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
Run Code Online (Sandbox Code Playgroud)
(用java-7-oracle或java-7-openjdk-amd64替换java-8-oracle,具体取决于你的java版本)
然后:
sudo ldconfig
Run Code Online (Sandbox Code Playgroud)
重新启动RStudio,然后安装rJava包.
use*_*065 11
让rJava工作在很大程度上取决于您的计算机配置.以下是至少在Windows平台上工作.您可以尝试检查,如果这对您的平台也有帮助.
如果使用64位版本确保,则不要将JAVA_HOME设置为环境变量.如果设置了此变量,rJava将无论出于何种原因都不起作用.您可以检查您的JAVA_HOME是否设置在R中:
Sys.getenv("JAVA_HOME")
Run Code Online (Sandbox Code Playgroud)如果您需要设置JAVA_HOME(例如,您需要maven或其他东西),您可以在加载rJava之前使用以下代码在R-session中停用它:
if (Sys.getenv("JAVA_HOME")!="")
Sys.setenv(JAVA_HOME="")
library(rJava)
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,这应该可以解决问题.此外,这将解决问题使用R7上的Win7 64位上的rJava包.我借用了从R:rJava包安装失败中取消设置环境变量的想法.