centos7に基づいて、mesosと関連する例をインストールしてチュートリアルを実行します。
再版の出典を教えてください:[https://blog.lzoro.com](https://blog.lzoro.com/)、ありがとうございます〜
Mesos is built using the same principles as the Linux kernel, only at a different level of abstraction. The Mesos
kernel runs on every machine and provides applications(e.g., Hadoop, Spark, Kafka, Elasticsearch)with API’s for
resource management and scheduling across entire datacenter and cloud environments.
MesosはLinuxカーネルと同じ原則に基づいて作成されましたが、違いは抽象化のレベルのみです。 Mesosカーネルは各マシンで実行されると同時に、APIを介してさまざまなアプリケーションにクロスデータセンターとクラウドリソースの管理およびスケジューリング機能(Hadoop、Spark、Kafka、Elastic Searchなど)を提供します。
まあ、それは十分に簡単です。
アーキテクチャ図
素人の言葉で言えば、それは私たちが単一のマシンのようにデータセンター全体を使用できるようにリソーススケジューリングを提供します。
まあ、それはまだ十分に人気がありません、それを忘れてください。
MesosはApacheの「オープンソース分散リソース管理フレームワーク」です。これを覚えておいてください。とにかく、この記事はインストールの紹介を担当します。特定の使用法と関連する概念の後に、別の章、Hia〜Hia〜があります。
1、 1centOS7仮想マシン(構成が優れています)2、mesos-1.6.13、xshell
ここでのグリッドは、win10を[ホストマシン](https://cloud.tencent.com/product/cdh?from=10680)として使用し、仮想マシンプラットフォームとして「VMware」をインストールしてから、「centos7」仮想マシンをインストールします。仮想マシンに少なくとも「2コアCPU」と「 4Gメモリ以上。それ以外の場合、インストール効率は比較的低く、結局のところ、まだいくつかのリソースがあります。
仮想マシンをインストールして起動したら、xsellを使用して接続し(結局のところ、インターフェイスフォントの方が快適に見えます)操作します。
公式サイト[ダウンロードアドレス](http://mesos.apache.org/downloads/)、ダウンロードする必要のあるバージョンを選択してください。
ここにいくつかのオプションがあります
仮想マシンがインターネットに接続できない学生に適しています
たとえば、バージョン 1.6.1
のダウンロード
wget http://archive.apache.org/dist/mesos/1.6.1/mesos-1.6.1.tar.gz
シンプルで便利な仮想マシンに接続できる学生に適しています。
Mesosインストールチームシステムが必要です。以下の手順は公式ウェブサイトから抜粋したものです。
一般的な意味は次のとおりです(結局のところ、それはプロの翻訳ではありません、keke〜)
Mesosは64ビットのLinux / MacOで実行されます。ソースコードからMesosをビルドするには、gcc 4.8.1 + / Clang 3.5+環境が必要です。
Linuxでは、ビルド/実行時にカーネルバージョンが(包括的)2.628よりも高くなければなりません。プロセス分離を完全にサポートするには、カーネルバージョンが(包括的)3.10よりも高くなければなりません。
Mesosエージェントは、追加の手順を使用してWindowsでも実行できます。
Dockerのホストネットワーキング機能を完全にサポートできるようにするには、Mesosテストに必要な DNS
/ / etc / hosts
によってホスト名を解決できることを確認してください。問題がある場合は、 / etc / host
にホスト名が含まれていることを確認してください。
Mesos runs on Linux(64 Bit) and Mac OS X(64 Bit). To build Mesos from source, GCC 4.8.1+ or Clang 3.5+ is required.
On Linux, a kernel version >=2.6.28 is required at both build time and run time. For full support of process isolation under Linux a recent kernel >=3.10 is required.
The Mesos agent also runs on Windows. To build Mesos from source, follow the instructions in the Windows section.
Make sure your hostname is resolvable via DNS or via /etc/hosts to allow full support of Docker’s host-networking capabilities, needed for some of the Mesos tests. When in doubt, please validate that /etc/hosts contains your hostname.
システムが異なれば、コンポーネントの要件も異なります。mesosの公式ウェブサイトリストには、
セントスの環境要件を見てみましょう。
システムのバージョンがわかりません。
cat /etc/redhat-release
# 同様の出力CentOSLinuxリリース7があります.5.1804(Core)
また、 root
ユーザーでない場合は、必ず sudo
コマンドを使用してください。この記事は root
ユーザーの操作に基づいているため、 sudo
コマンドは省略されています。
いくつかのユーティリティをインストールする
yum install -y tar wget git
ApacheMavenリポジトリファイルを取得します。
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
REPLリポジトリをインストールする
yum install -y epel-release
0.21.0
より前のMesosバージョンには subversion> 1.8
の開発パッケージが必要ですが、これはデフォルトのライブラリでは利用できないため、ファイル '/etc/yum.repos.d/wandisco-svn.repo'にあります。次のコンテンツを追加して、正しいバージョンをインストールします。
bash -c 'cat >/etc/yum.repos.d/wandisco-svn.repo <<EOF
[ WANdiscoSVN]
name=WANdisco SVN Repo 1.9
enabled=1
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/\$basearch/
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
EOF'
Mesosの一部は動作するために Systemd
を必要としますが、Mesosは Delegata
ロゴを含む systemd
バージョンのみをサポートします。
このフラグは systemdバージョン218
で最初に導入され、centosでデフォルトでインストールされたバージョンよりも低くなっています。
幸い、centos7.1には Delegate
フラグを含むパッチ systemd <218
があり、次の操作は systemd
をアップグレードすることです。
yum update systemd
必要な開発ツールをインストールします
yum groupinstall -y "Development Tools"
他のMesos依存関係をインストールします(マシンとネットワークが比較的普通の場合は、最初にお茶を作ることができます〜)
yum install -y apache-maven python-devel python-six python-virtualenv java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
この時点で、システムの依存関係は基本的に処理されます。
ダウンロードしたばかりの mesos-version-no.tar.gz
がどこにあるか覚えておいてください(version-noはダウンロードしたバージョン番号です)。忘れた場合は、長い記憶を作るためにクルミを食べる必要があるかもしれません〜
find [path] -options [regx]
を使用して検索コマンドを提供すると、指定されたオプションを使用して、指定されたディレクトリ内の式に一致するファイルを検索できます。
find /usr/local/-iname mesos*
どこにあるか覚えている場合は、圧縮パッケージが配置されているディレクトリに移動して解凍します
# ディレクトリを切り替える
cd /usr/local/setup
# 解凍する
tar zxvf mesos-1.6.1.tar.gz
gitリポジトリからダウンロードした場合は、最初に次のコマンドを実行します(そうでない場合はスキップします)。
. /bootstrap
インストールの構成とビルド
mkdir build
cd build
# 上記の2つのコマンドを組み合わせて
mkdir build & cd $_
# 構成
.. /configure --prefix=/usr/local/mesos-1.6.1
# 同様の出力があります
configure: Build option summary:
CXX: g++
CXXFLAGS:-g1 -O0 -Wno-unused-local-typedefs -std=c++11
CPPFLAGS:-I/usr/include/subversion-1-I/usr/include/apr-1-I/usr/include/apr-1.0
LDFLAGS:
LIBS:-lz -lsvn_delta-1-lsvn_subr-1-lsasl2 -lcurl -lapr-1-lrt
# コンパイル(マシン構成によって、時間は異なります)
make
# 言うまでもなく、最初にお茶を作りに行きます。
.........
# 数年後、次のような出力があります
running install_scripts
creating build/bdist.linux-x86_64/wheel/mesos.scheduler-1.6.1.dist-info/WHEEL
make[2]: Leaving directory `/usr/local/setup/mesos-1.6.1/build/src'
make[1]: Leaving directory `/usr/local/setup/mesos-1.6.1/build/src'
# テストケースを実行する(オプションで、次の例を実行する場合は、この手順を省略できません)
make check
# インストール
make install
# インストール後、次のような出力が表示されます
for name in libfixed_resource_estimator \
libload_qos_controller \
liblogrotate_container_logger;do \
for lib in`cd //usr/local/mesos-1.6.1/lib/mesos/modules && ls ${name}*`;do \
rm -f $lib; \
ln -s mesos/modules/$lib $lib; \
done; \
done
make[4]: Leaving directory `/usr/local/setup/mesos-1.6.1/build/src'
make[3]: Leaving directory `/usr/local/setup/mesos-1.6.1/build/src'
make[2]: Leaving directory `/usr/local/setup/mesos-1.6.1/build/src'
make[1]: Leaving directory `/usr/local/setup/mesos-1.6.1/build/src'
MesosはJava / Python / C ++フレームワークの例にバンドルされており、フレームワークバイナリは、上記のセクションで説明したように、mmake check
を実行した後にのみ使用できます(このコマンドを実行すると、サンプルフレームワークがコンパイルされます)。
以下に、例の使用について説明します。
# コンパイルディレクトリに入る
$ cd build
# Mesosマスターをオンにします(作業ディレクトリを確認する必要があります/var/lib/mesosが存在し、関連する権限があります).
# このマシンにアクセスしていない場合は、イントラネットアクセスを許可し、そのままにしておくことができます--ipオプション
$ ./bin/mesos-master.sh --ip=127.0.0.1--work_dir=/var/lib/mesos
# Mesosエージェントを開く(作業ディレクトリを確認する必要があります/var/lib/mesosが存在し、関連する権限があります).
$ ./bin/mesos-agent.sh --master=127.0.0.1:5050--work_dir=/var/lib/mesos
以下のフレームワークの例を実行します
# Webページにアクセス.
$ http://127.0.0.1:5050
おおよそのインターフェースは以下のとおりです
コンソール
# Cを実行++フレーム(タスクが正常に実行されると、終了します).
$ ./src/test-framework --master=127.0.0.1:5050
# Javaフレームワークを実行する(タスクが正常に実行されると、終了します).
$ ./src/examples/java/test-framework 127.0.0.1:5050
# Pythonフレームワークを実行する(タスクが正常に実行されると、終了します).
$ ./src/examples/python/test-framework 127.0.0.1:5050
ここのグリッドはJavaフレームワークの例のみを実行し、次の出力があります
WARNING: Logging before InitGoogleLogging() is written to STDERR
W0825 12:55:18.95426939142 sched.cpp:1719]**************************************************
Scheduler driver bound to loopback interface! Cannot communicate with remote master(s). You might want to set'LIBPROCESS_IP' environment variable to use a routable IP address.**************************************************
I0825 12:55:18.95689239142 sched.cpp:232] Version:1.6.1
I0825 12:55:18.96606139163 sched.cpp:336] New master detected at [email protected]:5050
I0825 12:55:18.96939339163 sched.cpp:351] No credentials provided. Attempting to register without authentication
I0825 12:55:18.99141139159 sched.cpp:749] Framework registered with 0d317686-be4b-42b8-9e3f-ff3e0068991f-0000
Registered! ID = 0d317686-be4b-42b8-9e3f-ff3e0068991f-0000
Received offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O0 with cpus:4.0 and mem:2750.0
Launching task 0 using offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O0
Launching task 1 using offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O0
Launching task 2 using offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O0
Launching task 3 using offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O0
Status update: task 2 is in state TASK_RUNNING
Status update: task 1 is in state TASK_RUNNING
Status update: task 0 is in state TASK_RUNNING
Status update: task 3 is in state TASK_RUNNING
Status update: task 2 is in state TASK_FINISHED
Finished tasks:1
Status update: task 1 is in state TASK_FINISHED
Finished tasks:2
Status update: task 0 is in state TASK_FINISHED
Finished tasks:3
Status update: task 3 is in state TASK_FINISHED
Finished tasks:4
Received offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O1 with cpus:4.0 and mem:2750.0
Launching task 4 using offer 0d317686-be4b-42b8-9e3f-ff3e0068991f-O1
Status update: task 4 is in state TASK_RUNNING
Status update: task 4 is in state TASK_FINISHED
Finished tasks:5
I0825 12:55:20.58519939160 sched.cpp:2013] Asked to stop the driver
I0825 12:55:20.58567639160 sched.cpp:1189] Stopping framework 0d317686-be4b-42b8-9e3f-ff3e0068991f-0000
I0825 12:55:20.58954839142 sched.cpp:2013] Asked to stop the driver
さらに、コンソールは見ることができます
コンソール-Javaサンプルフレームワーク
以前にメソスについて学びましたが、練習する時間がありませんでした。週末の雨を利用して外出しませんでした。ハローワールドをインストールして書き込もうとしました。結局のところ、紙面では浅すぎて、この問題は間違いなくわかっています。
私は逃げました、それが少しあなたを助けるならば、あなたは私に親指を上げることができます〜3グラムYo
参考:【メソス公式サイト】(https://mesos.apache.org/)
Recommended Posts