Ich versuche, meine nicht funktionierende Apache Spark und Netlib-Setup zu beheben, und ich weiß nicht, was ich als nächstes tun soll.Spark netlib-java BLAS
Hier einige Informationen:
- Spark-1.3.1 (aber auch 1.5.1 versucht)
- Mesos Cluster mit 3 Knoten
Ubuntu Trusty auf jedem Knoten und installiert folgende BLAS Paket
$ 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
ich habe ein Probengefäß zum Testen gebaut wenn netlib-java können diese Bibliotheken erkennen, mit folgenden Code:
object Main extends App {
println(com.github.fommil.netlib.BLAS.getInstance().getClass().getName())
println(com.github.fommil.netlib.LAPACK.getInstance().getClass().getName())
}
Wenn ich diesen Code ausführen i Antwort erhalten folgende:
$ 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
So scheint es hier ganz gut zu arbeiten. Aber Spark kann die Bibliotheken nicht erkennen. Ich habe diese Java-Abhängigkeit zu meiner Montage
com.github.fommil.netlib:all:1.1.2
auch wenn ich einen Funken Shell mit diesem Paket zu starten versuchen jar hinzugefügt es nicht funktioniert.
spark-shell --packages com.github.fommil.netlib:all:1.1.2
Dank für die Antwort. Für libblas.so oder liblapack.so wurden keine Alternativen gefunden. Ich weiß nicht, ob das schon eine Ursache sein könnte. Trotzdem verlinkt mein kleines Tool jetzt auf NativeSystemBLAS. Aber Spark Shell und jeder Funke-Job ist immer noch mit der F2J-Implementierung verbunden und ich kann nicht herausfinden, worin der Unterschied besteht: / – wobu