Centos7上Mesos和Marathon的安装和配置

  • Post category:Linux

Centos7上Mesos和Marathon的安装和配置攻略

简介

Apache Mesos是一个开源分布式系统内核(也称为集群操作系统),用于在整个数据中心管理计算机集群。Marathon是一个Mesos框架,用于在Mesos集群中运行长时间运行的服务。

该攻略介绍如何在Centos7上安装和配置Mesos和Marathon。

步骤

  1. 安装依赖项
sudo yum install -y epel-release
sudo yum update -y
sudo yum groupinstall -y "Development Tools"
sudo yum install -y libcurl-devel zlib-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel sqlite-devel
  1. 安装Mesos
sudo yum install mesos -y
  1. 配置ZooKeeper

ZooKeeper是Mesos的依赖项,需要先配置好ZooKeeper。

sudo yum install zookeeper -y
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
  1. 配置Mesos
sudo mkdir -p /etc/mesos-master/
sudo echo zk://localhost:2181/mesos > /etc/mesos/zk
sudo echo 1 > /etc/zookeeper/conf/myid
sudo echo MESOS_QUORUM=1 > /etc/mesos-master/quorum
sudo systemctl enable mesos-master
sudo systemctl start mesos-master
  1. 安装Marathon
sudo yum install marathon -y
  1. 配置Marathon
sudo mkdir -p /etc/marathon/conf
sudo cp /usr/share/doc/marathon-1.5.12/conf/* /etc/marathon/conf/
sudo nano /etc/marathon/conf/master

在文件中添加以下内容:

zk://localhost:2181/mesos
  1. 运行Marathon
sudo systemctl enable marathon
sudo systemctl start marathon

示例

示例1:在Marathon上运行Docker容器

  1. 安装Docker
sudo yum install docker -y
sudo systemctl enable docker
sudo systemctl start docker
  1. 创建Docker文件

创建一个名为“hello-world.json”的文件,包含以下内容:

{
  "id": "hello-world",
  "cmd": "echo 'Hello world!'",
  "cpus": 0.5,
  "mem": 32.0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "hello-world",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 1234,
          "hostPort": 0,
          "servicePort": 0,
          "protocol": "tcp"
        }
      ]
    }
  }
}
  1. 提交任务
curl -X POST http://localhost:8080/v2/apps -d @hello-world.json \
    -H "Content-type: application/json"
  1. 检查状态
curl http://localhost:8080/v2/apps/hello-world

示例2:在Marathon上运行Java应用程序

  1. 编写Java程序

创建一个Java程序文件,并保存为“hello-world.jar”。

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, world!");
  }
}
  1. 创建启动脚本

创建一个名为“start.sh”的脚本文件,包含以下内容:

#!/bin/bash
java -cp /path/to/hello-world.jar HelloWorld
  1. 创建任务文件

创建一个名为“hello-world.json”的任务文件,包含以下内容:

{
  "id": "hello-world",
  "cmd": "sh /path/to/start.sh",
  "cpus": 0.5,
  "mem": 32.0,
  "instances": 1
}
  1. 提交任务
curl -X POST http://localhost:8080/v2/apps -d @hello-world.json \
    -H "Content-type: application/json"
  1. 检查状态
curl http://localhost:8080/v2/apps/hello-world

结论

现在,您已经了解如何在Centos7上安装和配置Mesos和Marathon,并运行了两个示例。您可以根据需要修改示例,以满足您的特定需求。