我正在尝试对我的非工作 apache spark 和 netlib 设置进行故障排除,但我不知道下一步该做什么。
这里有一些信息:
- Spark 1.3.1(但也尝试过 1.5.1)
- 具有 3 个节点的 Mesos 集群
每个节点上的 Ubuntu Trusty 并按照 BLAS 包安装
$ dpkg -l | grep 'blas\|atlas\|lapack' ii libopenblas-base 0.2.8-6ubuntu1 amd64 Optimized BLAS (linear algebra) library based on GotoBLAS2 $ update-alternatives --get-selections | grep 'blas\|lapack' libblas.so.3 auto /usr/lib/openblas-base/libblas.so.3
我已经构建了一个示例 jar 用于测试netlib-java是否可以检测到这个库,代码如下:
object Main extends App {
println(com.github.fommil.netlib.BLAS.getInstance().getClass().getName())
println(com.github.fommil.netlib.LAPACK.getInstance().getClass().getName())
}
当我执行此代码时,我得到以下响应:
$ java -jar artifacts/BLAStest-assembly-1.0.jar
Mar 29, 2016 3:43:33 PM com.github.fommil.netlib.BLAS <clinit>
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS
Mar 29, 2016 3:43:33 PM com.github.fommil.jni.JniLoader liberalLoad
INFO: successfully loaded /tmp/jniloader6790966128222263615netlib-native_ref-linux-x86_64.so
com.github.fommil.netlib.NativeRefBLAS
Mar 29, 2016 3:43:33 PM com.github.fommil.netlib.LAPACK <clinit>
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK
Mar 29, 2016 3:43:33 PM com.github.fommil.jni.JniLoader load
INFO: already loaded netlib-native_ref-linux-x86_64.so
com.github.fommil.netlib.NativeRefLAPACK
所以它似乎在这里工作得很好。但是 spark 无法检测到库。我已将此 java 依赖项添加到我的程序集 jar
com.github.fommil.netlib:all:1.1.2
另外,如果我尝试用这个包启动一个 spark shell,它也不起作用。
spark-shell --packages com.github.fommil.netlib:all:1.1.2