[+]文章目录

下载Mesos

有两种方法:

  1. Apache官方网站下载 (推荐)

    $ wget http://www.apache.org/dist/mesos/0.24.0/mesos-0.24.0.tar.gz
    $ tar -zxf mesos-0.24.0.tar.gz
  2. 克隆Mesos的 git 代码仓库 repository (适用于高级用户)

    $ git clone https://git-wip-us.apache.org/repos/asf/mesos.git

系统要求

Mesos 可运行在 Linux (64 Bit) 和 Mac OS X (64 Bit)上。

Ubuntu 14.04

下面介绍Ubuntu 14.04中的安装步骤说明:

# 更新包库
$ sudo apt-get update

# 安装最新版本的 OpenJDK.
$ sudo apt-get install -y openjdk-7-jdk

# 安装编译工具 (需要编译时需要)
$ sudo apt-get install -y autoconf libtool

# 安装相关依赖
$ sudo apt-get -y install build-essential python-dev python-boto libcurl4-nss-dev libsasl2-dev maven libapr1-dev libsvn-dev

Mac OS X Yosemite

下面 Mac OS X Yosemite 中的步骤说明:

# 安装命令行工具
$ xcode-select --install

# 安装 Homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 安装关联库
$ brew install autoconf automake libtool subversion maven

CentOS 6.6

下面 CentOS 6.6 中的步骤说明:

    # 安装基础工具
    $ sudo yum install -y tar wget which

    # 'Mesos > 0.21.0' 需要 完整支持 C++11 的编译器, (比如 GCC > 4.8)的工具中 有'devtoolset-2'可用。
    # 下载 Scientific Linux CERN devtoolset 仓库文件。
    $ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo

    # 导入CERN GPG 密钥
    $ sudo rpm --import http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern

    # 下载 Apache Maven 仓库文件
    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

    # 'Mesos > 0.21.0' 需要 'subversion > 1.8' 开发包
    # 不过这版本没在默认仓库里,需要手动添加。
    # 在文件'/etc/yum.repos.d/wandisco-svn.repo'中添加如下内容:

      [WANdiscoSVN]
      name=WANdisco SVN Repo 1.8
      enabled=1
      baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
      gpgcheck=1
      gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco

    # 安装相应开发工具
    $ sudo yum groupinstall -y "Development Tools"

    # 安装 'devtoolset-2-toolchain',内有 GCC 4.8.2 和相关工具
    $ sudo yum install -y devtoolset-2-toolchain

    # 安装 Mesos 依赖
    $ sudo yum install -y apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel

    # 在终端中,开启'devtoolset-2'
    $ scl enable devtoolset-2 bash
    $ g++ --version  # 注意:一定要 GCC > 4.8!

CentOS 7.1

下面 CentOS 7.1 中的步骤说明:

    # 安装基础工具
    $ sudo yum install -y tar wget

    # 下载 Apache Maven 仓库文件
    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

    # 'Mesos > 0.21.0' 需要 'subversion > 1.8' 开发包
    # 不过这版本没在默认仓库里,需要手动添加。
    # 在文件'/etc/yum.repos.d/wandisco-svn.repo'中添加如下内容:

      [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

    # 安装相应开发工具
    $ sudo yum groupinstall -y "Development Tools"

    # 安装 Mesos 依赖
    $ sudo yum install -y apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel

编译 Mesos

    # 切换到源码目录
    $ cd mesos

    # 自检 (只在从 git 编译时需要)
    $ ./bootstrap

    # 配置并编译
    $ mkdir build
    $ cd build
    $ ../configure
    $ make

可设置-j <使用核心数量> V=0 来加快编译进度,减少日志输出。

    # 运行测试
    $ make check

    # 安装
    $ make install

示例

Mesos 自带 C++, Java 和 Python 框架实例

    # 切换到源码目录
    $ cd build

    # 启动 mesos 主控端(请确保 目录存在,且权限合适)
    $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos

    # 启动 被控
    $ ./bin/mesos-slave.sh --master=127.0.0.1:5050

    # 访问 mesos页面
    $ 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

NOTE: 需要使用 make check编译测试套件,才会编译 实例框架。


« 前一篇