2017-06-27 9 views
0

DC/OS v1.8.4がインストールされていて、宛先ノードにGPUリソ​​ースがあり、nvidiaドライバもインストールされていますが、テンソルフローをメソスコンテナに展開しようとしましたが、 mesosのstderrの内の1つのエラーメッセージ:テンソルフローの画像のLD_LIBRARY_PATHによるトラブル

mesos-containerizer: error while loading shared libraries: libmesos-1.0.1.so: cannot open shared object file: No such file or directory 

しかし、私は、このようなnginxの、(もmesosコンテナ内)ワードプレスとして、successfuly他のサービスを展開することができ

問題は、その親画像に、tensorflow画像によって引き起こされる可能性がCUDA、LD_LIBRARY_PATHをリセット:

ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 

mesos-agentが起動する前に、エグゼキュータの環境変数LD_LIBRARY_PATHを "/ opt/mesosphere/lib"に設定して、エグゼキュータが必要なファイルを見つけることができるようにしますが、上記の場合LD_LIBRARY_PATHはtensorflow、それでスタートアップに失敗しました!

誰でもOpenDCOSがこの問題をどのように処理するかを知っていますか?これらの公開CUDAイメージを変更しますか?

答えて

0

のGPUのみが正式に1.8で動作するようにGPUのを得る上で(サポートされていない)手順についてはDC/OS 1.9+

でサポートされ、DC/OSのメーリングリストでこの質問に対する私の答えを参照してください。 https://groups.google.com/a/dcos.io/d/msg/users/HEgcUfRRqzk/inIBmapMCQAJ

また、1.9クラスタより前のコンテナイメージにLD_LIBRARY_PATHを設定するという既知の問題もあります(通常、見つからないlibssl.soライブラリとして現れますが)。

あなたのケースでは、CUDAコンテナはLD_LIBRARY_PATHを設定しています.LD_LIBRARY_PATHは、DCFがライブラリファイルを見つけるために使用するLD_LIBRARY_PATH設定を上書きします。これは明らかにDC/OSのバグで、1.9で修正されています。このための最善の(サポートされていない)この問題を回避するには、デフォルトのライブラリパスに/opt/mesosphere/libを入れて、あなたのすべてのノード上の

sudo ldconfig /opt/mesosphere/lib 

を実行することです。再起動するたびにこれをやり直す必要があります(または、/opt/mesosphere/lib/etc/ld.so.conf.d/のファイルに追加して耐久性を持たせてください(おそらく/etc/ld.so.conf.d/dcos.conf?)。

根本的な問題に対処するこのJIRAは、ここで見つけることができます: https://issues.apache.org/jira/browse/MESOS-7027

関連する問題