2016-05-22 7 views
1

Ich habe versucht, ein Basisprogramm in Java zu starten, indem ich mich dem Jobmanager in Flink unterbreite. Ich habe eine native Bibliothek aus einem offenen Lebenslauf. Wenn ich versuche, den Job zu übergeben, bekomme ich "java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path", aber wenn ich es auf eclipse durch Einrichtung der flink-Ausführungsumgebung ausführe, bekomme ich korrekte Ergebnisse. Ich habe einige Lösungen von der Apache Flink Support-Website verfolgt: https://mail-archives.apache.org/mod_mbox/flink-user/201604.mbox/%[email protected].com%3E und habe meine conf.yaml-Datei entsprechend geändert (durch Zeigen von env.java.opts: -Djava.library.path = "/ Pfad der Open CV-Bibliothek", aber nein Glück, Vielleicht meine Frage ist sehr einfach, aber immer noch bin ich fest, würde jede Hilfe sehr geschätzt werden.Danke:Unzufriedener Linkfehler: Flink

+0

Haben Sie sorgen dafür, dass die OpenCV-Bibliothek auf der Maschine auch verfügbar ist, auf das der Jobmanager und die TaskManagers laufen? –

+0

Eigentlich habe ich es lokal ausgeführt, und die Bibliothek ist dort vorhanden. –

+1

Dies ist gelöst. Es gab ein Problem mit der Fett-JAR-Datei, die von der IDE erstellt wurde. Es enthielt nicht den Verweis auf die native Bibliothek. Also habe ich einen benutzerdefinierten Fettglas-Schöpfer verwendet, um die verfügbaren zu machen und danach hochgeladen. :-) –

Antwort

0

Ich hatte ein ähnliches Problem, oft Leute Referenzen so etwas wie die "Tomcat" -Lösung. Auch Flink mit RocksDB schreibt das so in eine tmp-Datei, das war aber auch falsch.

Wenn jemand anders diesen Weg gehen sollte - ich habe einen kurzen Blog geschrieben, der die Schritte beschreibt, die ich gemacht habe. OP's Kommentar Antwort scheint offensichtlich, aber erst nachdem ich auch die Lösung sehe (als ich daran arbeitete, war es nicht informativ).

Shameless Selbst Promo: https://rawkintrevo.org/2017/08/14/using-jnis-like-opencv-in-flink/