LoginSignup
7
4

More than 5 years have passed since last update.

Mesosを簡単にインストールする

Last updated at Posted at 2018-05-15

以前は公式のマニュアルどおりにMesosのインストールを頑張ったが、Mesosのソースからビルドするのにとても時間がかかりました。

せっかちな私にはたまらない待ち時間でした。

以前の記事: Mesos v1.5.0をインストールする
https://qiita.com/48hands/items/4f9db52c58c29c30a2d1

調べてみると、サードパーティのMesosphere Communityがrpmを提供してくれているようなので、
これを使って今回はインストールしてみようと思います。

Download Apache Mesos Packages  
https://open.mesosphere.com/downloads/mesos/

環境構成

サーバ4台のMesosクラスタ構成を目指します。
Vagrantでクラスタを構成するマシンを作成します。
以下は設定例です。OSはCentOS7でインストールします。

  • node1: Mesosマスタ
  • node2-node4: Mesosスレーブ

とします。

Vagrantfileは以下を参照してください。筆者はあとでSparkを動かしたかったので、メモリを高めで設定しています。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  (1..4).each do |no|
    name = "node#{no}"
    config.vm.define name do |node|
      node.vm.provider "virtualbox" do |vm|
        vm.name = name
        vm.customize ["modifyvm", :id, "--memory", "2048"]
      end
      node.vm.box = "centos/7"
      node.vm.hostname = name
      node.vm.network "private_network", ip: "192.168.33.4#{no}"
      node.vm.provision "shell", inline: "sudo systemctl stop firewalld"
      node.vm.provision "shell", inline: "sudo systemctl disable firewalld"
      node.vm.provision "shell", inline: "sudo systemctl restart network"
    end
  end
end

起動します。

vagrant up node1 node2 node3 node4

ローカルから公開鍵でログインしたい場合の設定はお好みで。

vagrant ssh-config >> ~/.ssh/config

Mesosのインストール

すべてのマシン(node1-node4)で以下のコマンドを実行してMesosをインストールします。
今回はCentOS7に、Mesos1.5.0をインストールします。Ubuntuなどを利用する場合は、以下参照してください。
https://open.mesosphere.com/downloads/mesos/

curl -O http://repos.mesosphere.com/el/7/x86_64/RPMS/mesos-1.5.0-2.0.1.el7.x86_64.rpm
sudo yum install -y mesos-1.5.0-2.0.1.el7.x86_64.rpm

これだけで終わりです。

Mesosマスタの設定と起動

node1node4にMesosインストールが完了したら、
Mesosマスタから設定していきます。
この作業はnode1で実施します。

基本的には/etc/default/mesos(マスタとスレーブで共通的な設定)、/etc/default/mesos-master(マスタの設定)を設定します。

詳しい設定については、以下を参照してください。
http://mesos.apache.org/documentation/latest/configuration/

  • /etc/default/mesos
LOGS=/var/log/mesos
ULIMIT="-n 8192"
IP=node1のIP
  • /etc/default/mesos-master
PORT=5050

# Zookeeperを使わないようにコメントアウトしています。
# ZK=`cat /etc/mesos/zk`

# WebUIに表示されるMesosクラスタ名
CLUSTER="Trial Env"

設定完了したら、起動します。
ついでにnode1ではマスタのみ自動起動して、スレーブは自動起動しないように設定しておきます。

sudo systemctl start mesos-master

sudo systemctl enable mesos-master
sudo systemctl disable mesos-slave

この状態でMesosのUIにアクセスできればOKです。
http://[node1のIP]:5050

MesosUI1.png

Mesosスレーブの設定と起動

Mesosスレーブを設定していきます。
この作業はnode2,node3,node4で実施します。

/etc/default/mesos(マスタとスレーブで共通的な設定)、/etc/default/mesos-slave(スレーブの設定)を設定します。

詳しい設定については、以下を参照してください。
http://mesos.apache.org/documentation/latest/configuration/

  • /etc/default/mesos
LOGS=/var/log/mesos
ULIMIT="-n 8192"
IP=各マシンのIP
  • /etc/default/mesos-slave
MASTER=node1のIP:5050

設定完了したら、起動します。
ついでにnode2,node3,node4ではスレーブのみ自動起動して、マスタは自動起動しないように設定しておきます。

sudo systemctl start mesos-slave

sudo systemctl enable mesos-slave
sudo systemctl disable mesos-master

この状態でMesosのUIにアクセスして、Agentタブからnode2,node3,node4が確認できればOKです。

MesosUI.png

ここで構築したMesosクラスタとSparkを連携してみる手順は、以下をご参照ください。

[SparkをインストールしてMesosクラスタと疎通確認するまでの手順]
https://qiita.com/48hands/items/375993c042eb03e05e77

7
4
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
7
4