RHEL6 (6.4) で R と Tomcat をセットアップしようとしています。
R をインストールして実行できます。Tomcat 7 をインストールしており、ファイル ファイルをホストできます。アプリケーションを WAR ファイルとしてパッケージ化し、tomcat を使用してデプロイしました。アプリケーションは、R コンポーネントを使用するまで、すべての面で正常に動作します。
これは、catalina.out に見られるように、次のエラーでクラッシュする場所です。
Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.li
brary.path.
java.lang.UnsatisfiedLinkError: /usr/local/lib64/R-2.15.3/library/rJava/jri/libj
ri.so: libR.so: cannot open shared object file: Too many levels of symbolic link
s
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1675)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
R の下に rJava がインストールされています: install.packages("rJava") 正常にインストールされ、R のライブラリ フォルダー内に rJava があります。
/etc/profile で次のように定義しました。
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
export R_HOME=/usr/local/lib64/R-2.15.3
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$R_HOME/bin
export PATH
export LD_LIBRARY_PATH=$R_HOME/lib/libR.so,$JAVA_HOME/lib/amd64/server/libjvm.so
私の理解では、サーバー上のすべてのユーザーに対してグローバルに JAVA_HOME、R_HOME、PATH、および LD_LIBRARY_PATH を設定する必要があります。Tomcat がルートの下で実行されていることはわかっており、ルートが「 」、「 」、「 」、「 」を介して上記の設定どおりに上記のすべてのパスを確認できたことecho $JAVA_HOME
をecho $R_HOME
確認echo $LD_LIBRARY_PATH
できecho $PATH
ます
したがって、これらの .so ファイルを開くことができないと不平を言っている理由がわかりません。
また、クラッシュすると Tomcat がシャットダウンします。
ありがとう!