Tencent / plato

腾讯高性能分布式图计算框架Plato
Other
1.9k stars 330 forks source link

在以集群的形式运行./scripts/run_pagerank.sh的时候提示:缺少libjava.so文件 #114

Open acezhsh opened 4 years ago

acezhsh commented 4 years ago

大家好有没有人遇到过我这样类似的问题,在以集群的形式运行./scripts/run_pagerank.sh的时候提示:缺少libjava.so文件 我的操作过程如下: (1)首先,在运行./build后是执行成功的,如下为最后的提示输出: //plato/util/test:object_buffer (cached) PASSED in 20.4s WARNING: //plato/util/test:object_buffer: Test execution time (20.4s excluding execution overhead) outside of range for MODERATE tests. Consider setting timeout="short" or size="small". //plato/util/test:test_hyperloglog (cached) PASSED in 0.0s //plato/util/test:thread_local_object (cached) PASSED in 0.0s

Executed 0 out of 32 tests: 32 tests pass. INFO: Build completed successfully, 1 total action

(2)但是在运行分布式的测试程序的时候:./scripts/run_pagerank.sh 报错说是缺少libjava.so,: I0905 23:37:40.413604 202087 base.hpp:179] thread support level provided by MPI: I0905 23:37:40.413681 202087 base.hpp:182] MPI_THREAD_MULTIPLE I0905 23:37:40.413695 202087 base.hpp:211] threads: 4 I0905 23:37:40.413699 202087 base.hpp:212] sockets: 2 I0905 23:37:40.413703 202087 base.hpp:213] partitions: 4 Error occurred during initialization of VM Unable to load native library: /home/hadoop/plato/plato-master/bazel-bin/_solib_k8/libjava.so: cannot open shared object file: No such file or directory

这种情况是怎么回事?

xuguruogu commented 4 years ago

看起来是java环境变量没有配置好,LD_LIBRARY_PATH也尝试配置一下

9lan9 commented 3 years ago

有解决了吗?

ustcyu commented 3 years ago

@9lan9 遇到了什么问题,可以详细描述一下

9lan9 commented 3 years ago

@9lan9 遇到了什么问题,可以详细描述一下

就是和这个issue一样的问题呀,有的server ok, 有的server报上述问题。但是查看环境变量什么的都是一致的。谢谢!

ustcyu commented 3 years ago

我们没有遇到此类问题,怀疑是环境变量的问题,多台机器有的可以有的不可以,那正好可以对比一下配置,如果解决也欢迎分享一下结论。

9lan9 commented 3 years ago

能成功的是ubuntu16+java11, 不能成功的是centos7+java8, 是需要用java11吗?

jsycdut commented 3 years ago

我遇到过类似的问题,这个是由于缺少对应的库文件,调整脚本中的LD_LIBRARY_PATH变量将这个libjava.so文件所在的目录纳入其中应该可以解决。

libjava.so这个文件在JDK 8 中,位于$JAVA_HOME/jre/lib/amd64/libjava.so,但是在Java 9以及之后的版本中,取消了jre这个目录,libjava.so文件将位于$JAVA_HOME/lib/libjava.so,所以,应确定好自己的Java版本,保证run_pagerank.shLD_LIBRARY_PATH的位置的正确性。

9lan9 commented 3 years ago

我遇到过类似的问题,这个是由于缺少对应的库文件,调整脚本中的LD_LIBRARY_PATH变量将这个libjava.so文件所在的目录纳入其中应该可以解决。

libjava.so这个文件在JDK 8 中,位于$JAVA_HOME/jre/lib/amd64/libjava.so,但是在Java 9以及之后的版本中,取消了jre这个目录,libjava.so文件将位于$JAVA_HOME/lib/libjava.so,所以,应确定好自己的Java版本,保证run_pagerank.shLD_LIBRARY_PATH的位置的正确性。

好的,谢谢