CentOS7の下にMesosチュートリアルをインストールします

centos7に基づいて、mesosと関連する例をインストールしてチュートリアルを実行します。
再版の出典を教えてください:[https://blog.lzoro.com](https://blog.lzoro.com/)、ありがとうございます〜

Mesosの紹介###

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を使用して接続し(結局のところ、インターフェイスフォントの方が快適に見えます)操作します。

ステップ###

1、 ダウンロード####

公式サイト[ダウンロードアドレス](http://mesos.apache.org/downloads/)、ダウンロードする必要のあるバージョンを選択してください。

ここにいくつかのオプションがあります

仮想マシンがインターネットに接続できない学生に適しています

たとえば、バージョン 1.6.1のダウンロード

wget http://archive.apache.org/dist/mesos/1.6.1/mesos-1.6.1.tar.gz

シンプルで便利な仮想マシンに接続できる学生に適しています。

2、 システム要求####

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 &lt;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

この時点で、システムの依存関係は基本的に処理されます。

3、 コンパイルしてインストール####

ダウンロードしたばかりの 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

CentOS7の下にMesosチュートリアルをインストールします
CentosはMYSQL8.Xチュートリアルをインストールします
CentOS7の下にmysql5.7をインストールします
Centosインストールelasticsearchチュートリアル
Centos7の下にActiveMQをインストールします
CentOS7の下にPostgreSQL12をインストールします
VMwareにCentOSをインストールする
Centos7インストールkubernetesチュートリアル
Centos7インストールMysql8チュートリアル
Centos7にmysqlをインストールします
Centos7の下にJenkinsをインストールします
CentOS6.5の下にmysql5.1をインストールします
LinuxCentos7インストールredisチュートリアル
CentOS6.9でOracle11gR2データベースをインストールします
LinuxにMySQLをインストールする(CentOS 7)
CentOS6の下にJavaJDK8をインストールします
vmwareインストールCentOS7詳細チュートリアル
5.1。CentOS @インストールJDK1.8グラフィックチュートリアル
CentOS7の下にMongoDBデータベースをインストールします
linuxインストールmongodbでのCentOS6.8
CentOS 7yumインストールPHP7.3チュートリアル
CentOS5.9でkeepalivedをインストールして構成します
Centos5.2でLAMPをコンパイルしてインストールします
[redisの概要] Centosの下にredisをインストールします
CentOS7でのJDK1.8チュートリアルの最小インストール
CentOS8インストールjdk8 / java8チュートリアル(推奨)
CentOSの下にハーバーミラーウェアハウスをインストールします
Python3をインストールし、CentOS8でansible
Centos8の下に最新のOpenCV4.3をインストールします
CentOS6.8でdockerをインストールして使用する
CentOS6.3の下にMono3.2とJexus5.4をインストールします
Centos6はPython2.7.13をインストールします
centos6.5でzabbix2.4をインストールするためのチュートリアル図
CentOS7でlibmodbusライブラリをコンパイルしてインストールします
Centos7.3はnginxをインストールします
CentOS7.2はMysql5.7.13をインストールします
CentOSはRedmineをインストールします
Centos7はPython3.6をインストールします。
CentOS7はMySQLをインストールします
Centos7インストールprotobuf
CentOS7はDockerをインストールします
CentOS7.4はZabbix3.4をインストールします
CentOS7はDockerをインストールします
Centos6.5はTomcatをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
CentOS7はHadoop3.0.0をインストールします
Centos7はPython2.7をインストールします
Centos7.6はseleniuをインストールします
LinuxCentOS7システムにmysql8.0.13バージョンをインストールします
CentOS7.3はZabbix3をインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSはopenjdk1.8をインストールします
CENTOS6.5インストールCDH5.12.1(1)
CentOSはPHPをインストールします
CentOS6はmist.ioをインストールします
Centos7はDockerをインストールします
CentOS7インストールmysql
centOsはrabbitMQをインストールします