我在R服务器和闪亮服务器中运行相同的闪亮应用程序。
同一虚拟机中的R服务器和闪亮服务器。
我已将Postgre数据库与R Server中的软件包RJDBC连接。 但是我用Shiny Server中的RJDBC软件包断开了Postgre数据库的连接。
当我链接闪亮的应用程序时,网页下方显示错误工具提示:“与服务器断开连接”
R代码:
library(shiny)
library(RJDBC)
drv=RJDBC("org.postgresql.Driver","/home/myhome/postgresql-42.2.5.jar")
shinyServer(
...
)
R错误日志:
警告:.jfindClass中的错误: java.lang.ClassNotFoundException 54:nonymousErro Java.lang.ClassNotFoundExceptionshiny-server-client.min.js:1 应用程序une
诊断信息已转储到JavaScript错误 控制台。
我怀疑
(1)Java环境设置不正确。
(2)Shiny Server设置了错误的Java版本路径。
(3)Postgre数据库jar版本文件错误。
问题排查
(1)(2)
我在Shiny Server中使用以下代码来引用闪亮服务器的环境变量。
Sys.getenv("LD_LIBRARY_PATH")
/user/lib64/R/lib:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.e17_6.x86_64/jre/lib/amd64/server
我使用“ java -version”来指代VM的Java版本,结果如下:
openjdk版本“ 1.8.0_212”
openJDK运行时环境(内部版本1.8.0_212-b4)
openJDK 64位服务器VM(内部版本25.212.-b04,混合模式)
(3)我尝试了三个postgre jar文件,但是它们都无法在Shiny Server中运行。
postgresql-42.2.5.jar
postgresql-42.2.5.jre6.jar
postgresql-42.2.5.jre7.jar
如何在闪亮的服务器中执行Shinyapp?
谢谢
环境: Centos的7 x64