LoginSignup
0
0

More than 5 years have passed since last update.

Mesos v1.5.0をインストールする

Last updated at Posted at 2018-05-09

Mesosを仕事で使う機会があったのでインストール方法を残しておきます。
インストールバージョンは現時点の最新版v1.5.0(2018.5.9時点)です。
(最終的には、SparkとCassandraとMesosを組み合わせてどうにかしようとしている)
公式の手順を参考にしながらやってみました。

Mesosビルドのためのパッケージインストール

sudo yum -y install git
sudo curl -Lo /etc/yum.repos.d/epel-apache-maven.repo  http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo
sudo yum install -y epel-release

sudo 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'

sudo yum groupinstall -y "Development Tools"
sudo 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
sudo yum install -y python-pip
sudo pip install --upgrade pytz

Mesos 1.5.0のダウンロードとビルド

curl -o ~/mesos-1.5.0.tar.gz http://archive.apache.org/dist/mesos/1.5.0/mesos-1.5.0.tar.gz
tar xvfz ~/mesos-1.5.0.tar.gz -C ~/

cd ~/mesos-1.5.0
mkdir build
cd build
../configure
make
sudo make install

makeはとっても時間がかかる。手元のローカル環境だと1時間以上はかかります。
また、メモリが少ないと途中で失敗します。

sudo make install後、/usr/local/sbin配下にmesosの資材ができていることを確認しておきます。

$ ll /usr/local/sbin/ | grep mesos
-rwxr-xr-x. 1 root root 2456352  5月  9 17:53 mesos-agent
-rwxr-xr-x. 1 root root     406  5月  9 17:53 mesos-daemon.sh
-rwxr-xr-x. 1 root root 2385928  5月  9 17:53 mesos-master
lrwxrwxrwx. 1 root root      11  5月  9 17:53 mesos-slave -> mesos-agent
-rwxr-xr-x. 1 root root    1349  5月  9 17:53 mesos-start-agents.sh
-rwxr-xr-x. 1 root root     888  5月  9 17:53 mesos-start-cluster.sh
-rwxr-xr-x. 1 root root    1366  5月  9 17:53 mesos-start-masters.sh
-rwxr-xr-x. 1 root root    1349  5月  9 17:53 mesos-start-slaves.sh
-rwxr-xr-x. 1 root root    1185  5月  9 17:53 mesos-stop-agents.sh
-rwxr-xr-x. 1 root root     635  5月  9 17:53 mesos-stop-cluster.sh
-rwxr-xr-x. 1 root root    1200  5月  9 17:53 mesos-stop-masters.sh
-rwxr-xr-x. 1 root root    1185  5月  9 17:53 mesos-stop-slaves.sh

ディレクトリ作成

sudo mkdir /var/lib/mesos

Mesos Master/Agentの起動

Mesos masterの起動

sudo su -
mesos-master --ip=127.0.0.1 --work_dir=/var/lib/mesos

Mesos agentの起動

sudo su -
mesos-agent --master=127.0.0.1:5050 --work_dir=/var/lib/mesos

http://127.0.0.1:5050

にアクセスしてMaster,Agentが確認できればOKです。

付属のサンプルアプリで動作確認

ビルド時に利用したフォルダにpythonサンプルアプリがあるので、Mesosで動作するか確認しておきます。(他にもJavaアプリなどがあるのですが、手元の環境ではjarが無いとかで動かなかった..)

cd ~/mesos/build

# Run Python framework
./src/examples/python/test-framework 127.0.0.1:5050

サービス登録

/etc/systemd/systemの下にUnit定義ファイルを作成します。
作成するファイルは以下の2つ。
それぞれMesos masterとMesos agent用になります。

  1. /etc/systemd/system/mesos-master.service
  2. /etc/systemd/system/mesos-agent.service
/etc/systemd/system/mesos-master.service
[Unit]
Description = Mesos master daemon

[Service]
ExecStart = /usr/local/sbin/mesos-master --ip=127.0.0.1 --work_dir=/var/lib/mesos
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target
/etc/systemd/system/mesos-agent.service
[Unit]
Description = Mesos agent daemon

[Service]
ExecStart = /usr/local/sbin/mesos-agent --master=127.0.0.1:5050 --work_dir=/var/lib/mesos
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

/etc/systemd/system/mesos-agent.service--master=127.0.0.1:5050のIP部分は必要に応じて変更してください。
今回は同一サーバ上でmasterとagentを起動する設定のため、上記の設定にしています。

サービスとして認識されたか確認する。

$ sudo systemctl list-unit-files --type=service | grep mesos
mesos-agent.service                           disabled
mesos-master.service                          disabled

サービスとして起動

サービスの自動起動On設定とサービス起動

sudo systemctl enable mesos-master
sudo systemctl enable mesos-agent

# Start Mesos master
sudo systemctl start mesos-master

# Start Mesos agent
sudo systemctl start mesos-agent

起動状態の確認

sudo systemctl status mesos-master
sudo systemctl status mesos-agent

起動状態が確認できればOKです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0