Spark on Mesos:Mesosを構築するいくつかの問題


しげんかんりシステム
SparkはMesos上またはYARN上に構築することができ、両方ともリソース管理システムである.リソース管理システムについては、以下の記事を参照してください.
Borg/YARN/Mesos/torca/Coronaのようなシステムのマルチクラスタの下で資源共有方案の紹介統一資源管理とスケジューリングプラットフォーム(システム)の紹介
宝を洗うのは自分の第2世代の集団--雲梯システムを借りて、SparkをYARNの上に配置して、中は宝を洗う技術部のSparkに対するいくつかの実戦の小結で、ドラムを打つ段階です.
Mesosに関する論文は、ここでダウンロードできます.彼の公式サイトのドキュメントにはgithubのwikiが多くありません.
Mesos構築
資源管理システムのいくつかの背景を理解した後、簡単にMesosを構築する過程で出会ったいくつかの穴を紹介します.私は会社の開発機で時間を割いたので、開発機にはroot権限がありません.buildの時に以下の障害があります.
1.MesosはC++で書かれており、経験が必要です./configure、makeとmake installの段階、私はあまりよく知りません
2.root権限がなく、パブリッシュパスのデフォルトは/usr/localで、./configureの場合は--prefix=/pathのパラメータを付けます
3.Mesosはgcc 4.1+のバージョンとPython 2.7に依存し、開発機のgccとpythonのバージョンはいずれも比較的低いので、自分で高いバージョンのgccとpythonを指定する必要があります.主にgccという穴です.
4.開発機は外部ネットワークに接続できません.pythonは次のeggが必要です.そこで私は自分で追加しました.これは言わないでください.普通の人は私のような問題はないと思います.
通常の構築プロセスは、Mesosのパッケージをダウンロードした後、解凍して、./configure,make,make installは終わりますので、この攻略を参考にしてください.
root権限がない場合は、パブリッシュパスを指定するだけでなく、webuiのデフォルトも/usr/localから探すのでconfigureでパラメータを追加しました.
./configure --prefix=/path --disable-webui  

Webuiをキャンセルすると、localhost:8080ではmasterとslaveのいくつかの可視化情報が表示されません.
gccの問題について、最初はすべてのMakefileを手動で修正しました.gccとg++があるところに私のgccパスが追加されています.このようにしてコンパイルを完全に高バージョンのgccで実行させることはできません.依存するものが多いので、サブディレクトリの下のMakefileは指定されたgccに従ってmakeに行くことはありません.
解決策はexport自身のgcc pathを、PATHの前に宣言することです.PATHは左から右に読むので、デフォルトのgccは私のバージョンです.
export MY_PATH = {GCC_HOME}/bin
export PATH = $MY_PATH : $PATH #        ,     gcc -v          
当時、このコンパイル問題でgoogle論文に投稿されたが、最後に自問自答で解決した.問題を投稿して皆さんに見せて、同じ状況があれば、gccバージョンが原因だと説明します.
Running Spark on Mesos, libmesos.so Exception: undefined symbol
その他の構築問題はMesos公式サイトの簡単なドキュメントを参照してください.
Spark Run On Mesos
make installが成功すると、Mesosをリリースする場所に行き、sbin/mesos-masterでmasterを起動し、sbin/mesos-slave.sh--master=127.0.0.1:5050同じマシンでslaveを起こしてSpark_Home下跑./run spark.examples.SparkPi 127.0.0.1:5050まだPi値を算出できるかどうか見てみましょう.できれば成功しました.
その前にconf/spark-envに行くのを覚えています.shにMesosの設定を追加します.
export MESOS_HOME={PATH}/mesos/
export MESOS_NATIVE_LIBRARY={PATH}/mesos/lib/libmesos.so

(全文完了)