ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Mesos 3 主 3 从(Docker-compose部署)

2022-04-28 16:33:01  阅读:204  来源: 互联网

标签:10.0 compose Mesos mesos MESOS 2181 docker Docker


资源清单

依赖 ZooKeeper 集群,需要先部署 ZooKeeper

ZooKeeper集群部署

主机 IP
mesos节点1 10.0.0.1
mesos节点2 10.0.0.2
mesos节点3 10.0.0.3
软件 版本
docker 20.10.12
docker-compose 1.23.1
mesos-master镜像 mesoscloud/mesos-master:0.28.1-centos-7
mesos-slave镜像 mesoscloud/mesos-slave:0.28.1-centos-7
服务 端口
mesos-master 5050
mesos-slave 5051

一、Docker 安装

1. 使用国内 yum

# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2. 卸载旧版本的 docker

## 如果主机上已经有docker存在且不是想要安装的版本,需要先进行卸载。
# yum remove -y docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-selinux \
              docker-engine-selinux \
              docker-engine \
              container*

3. 安装 Docker20.10 版本

# yum -y install docker-ce-20.10.12-3.el7 docker-ce-cli-20.10.12-3.el7 vim

4. 设置镜像加速

# mkdir /etc/docker
# vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
}

5. 启动 docker

# systemctl start docker
# systemctl enable docker
# systemctl status docker

二、Docker-compose 安装

1. Docker-compose 安装

## github.com 可能访问超时,可以使用下面的获取下载下来后上传服务器即可
# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# curl -k "https://dl.cactifans.com/zabbix_docker/docker-compose" -o /usr/bin/docker-compose

# chmod a+x /usr/bin/docker-compose

2. 查看 docker-compose 版本

# docker-compose version

三、Mesos 3主3从 安装

1. 详细的 docker-compose.yml 文件信息

其他 2个 主机节点修改对应的参数即可

version: '3'
services:
  mesos-master1:                        # [ mesos-master2 | mesos-master3 ]
    image: mesoscloud/mesos-master:0.28.1-centos-7
    restart: always
    network_mode: "host"
    hostname: mesos-master1             # [ mesos-master2 | mesos-master3 ]
    container_name: mesos-master1       # [ mesos-master2 | mesos-master3 ]
    environment:
      MESOS_HOSTNAME: 10.0.0.1          # [ 10.0.0.2 | 10.0.0.3 ]
      MESOS_IP: 10.0.0.1                # [ 10.0.0.2 | 10.0.0.3 ]
      MESOS_QUORUM: 2
      # MESOS_ZK: zk://zk1:2181,zk2:2181,zk3:2181/mesos
      MESOS_ZK: zk://user:123456@zk1:2181,zk2:2181,zk3:2181/mesos   # zookeeper 启动了 ACL 验证,需要的连接时提供账户密码
    extra_hosts:  # 设置容器 hosts
      - "zk1:10.0.0.1"
      - "zk2:10.0.0.2"
      - "zk3:10.0.0.3"

  mesos-slave1:                         # [ mesos-slave2 | mesos-slave3 ]
    image: mesoscloud/mesos-slave:0.28.1-centos-7
    restart: always
    privileged: true
    network_mode: "host"
    hostname: mesos-slave1              # [ mesos-slave2 | mesos-slave3 ]
    container_name: mesos-slave1        # [ mesos-slave2 | mesos-slave3 ]
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      MESOS_HOSTNAME: 10.0.0.1          # [ 10.0.0.2 | 10.0.0.3 ]
      MESOS_IP: 10.0.0.1                # [ 10.0.0.2 | 10.0.0.3 ]
      # MESOS_ZK: zk://zk1:2181,zk2:2181,zk3:2181/mesos
      MESOS_ZK: zk://user:123456@zk1:2181,zk2:2181,zk3:2181/mesos   # zookeeper 启动了 ACL 验证,需要的连接时提供账户密码
    extra_hosts:  # 设置容器 hosts
      - "zk1:10.0.0.1"
      - "zk2:10.0.0.2"
      - "zk3:10.0.0.3"

2. 安装服务

3台主机 中执行以下命令

# mkdir /data/mesos -pv
# cd /data/mesos

# cat << EOF >> docker-compose.yml

version: '3'
services:
  mesos-master1:                        # [ mesos-master2 | mesos-master3 ]
    image: mesoscloud/mesos-master:0.28.1-centos-7
    restart: always
    network_mode: "host"
    hostname: mesos-master1             # [ mesos-master2 | mesos-master3 ]
    container_name: mesos-master1       # [ mesos-master2 | mesos-master3 ]
    environment:
      MESOS_HOSTNAME: 10.0.0.1          # [ 10.0.0.2 | 10.0.0.3 ]
      MESOS_IP: 10.0.0.1                # [ 10.0.0.2 | 10.0.0.3 ]
      MESOS_QUORUM: 2
      # MESOS_ZK: zk://zk1:2181,zk2:2181,zk3:2181/mesos
      MESOS_ZK: zk://user:123456@zk1:2181,zk2:2181,zk3:2181/mesos   # zookeeper 启动了 ACL 验证,需要的连接时提供账户密码
    extra_hosts:  # 设置容器 hosts
      - "zk1:10.0.0.1"
      - "zk2:10.0.0.2"
      - "zk3:10.0.0.3"

  mesos-slave1:                         # [ mesos-slave2 | mesos-slave3 ]
    image: mesoscloud/mesos-slave:0.28.1-centos-7
    restart: always
    privileged: true
    network_mode: "host"
    hostname: mesos-slave1              # [ mesos-slave2 | mesos-slave3 ]
    container_name: mesos-slave1        # [ mesos-slave2 | mesos-slave3 ]
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      MESOS_HOSTNAME: 10.0.0.1          # [ 10.0.0.2 | 10.0.0.3 ]
      MESOS_IP: 10.0.0.1                # [ 10.0.0.2 | 10.0.0.3 ]
      # MESOS_ZK: zk://zk1:2181,zk2:2181,zk3:2181/mesos
      MESOS_ZK: zk://user:123456@zk1:2181,zk2:2181,zk3:2181/mesos   # zookeeper 启动了 ACL 验证,需要的连接时提供账户密码
    extra_hosts:  # 设置容器 hosts
      - "zk1:10.0.0.1"
      - "zk2:10.0.0.2"
      - "zk3:10.0.0.3"
EOF


# docker-compose up -d

3. 配置集群

Mesos 高可用设计中,引入了 ZooKeeper 集群来辅助Leader的选举

访问任意节点url地址:http://10.0.0.1:5050/ ,会自动跳转到 Leader节点

标签:10.0,compose,Mesos,mesos,MESOS,2181,docker,Docker
来源: https://www.cnblogs.com/evescn/p/16203385.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有