docker容器技术篇:集群管理实战mesos+zookeeper+marathon(二)

docker集群管理实战mesos+zookeeper+marathon(二)

一 实验环境

操作系统:centos7.9

二 基础环境配置以及安装mesos

安装过程请点击下面的链接查看:
容器集群管理实战mesos+zookeeper+marathon(一)

三 安装zookeeper

3.1 Zookeeper概述

ZooKeeper是用来给集群服务维护配置信息,提供分布式同步和提供组服务。所有这些类型的服务都使用某种形式的分布式应用程序,本实验中使用zk与mesos结合实现为mesos的master提供配置维护、分布式同步、组服务等,并保证其单点故障问题。Zk是Hadoop和Hbase的重要组件哦。

3.2 在所有master节点安装zookeeper

下载zookeeper

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3.3 解压zookeeper安装包,配置环境变量


配置环境变量 vim /etc/profile

生效环境变量,输入zk按两次tab键能出来内容;这里还没有配置zk所以不能通过查看zk的版本验证zk的环境变量是否成功,因此才用tab键测试。

3.4 配置zk

3.4.1修改配置文件名



3.4.2 编辑配置文件


3.4.3 创建data目录和myid文件

在zk主目录中创建data目录并在data文件夹中创建myid文件同时写入当前节点id(可以这么理解当前节点的id就是zoo.cfg配置文件中IP地址所对应的server后面的数字)

3.4.4 将master1节点上面的配置拷贝到其他master节点


3.4.5 修改master2 和 master3 节点的zk配置,改myid里面的数据就行


3.4.6 配置master2 和 master3 节点的zk的环境变量,也可以从master1使用scp拷贝



3.4.7 启动zk



3.4.8 查看zk状态



zk成功启动,master2为leader

四 在slave节点上安装docker

安装过程参照:
Docker安装及私有镜像仓库搭建

五 启动mesos集群

5.1 启动mesos-master



由于截图较多,这里就不展示master2和master3节点了,请自行完成。

5.2 访问mesos-master主页

访问的是192.168.23.101这个节点,因为zk选出来的leader是192.168.23.102这个节点,所有现在处于active状态的是master2,三个节点都能访问,但最终都会转发到master2这个节点,当前状态下的所有计算任务的资源调度由master2来完成。

5.3 启动mesos-slave

mesos-master --work_dir=/home/mesos/data --log_dir=/home/mesos/logs --no-hostname_lookup --ip=0.0.0.0 --zk=zk://192.168.23.102:2181/mesos --quorum=2

启动Slave1:

启动slave2:

mesos-slave --containerizers="mesos,docker" --work_dir=/home/mesos/data --log_dir=/home/mesos/logs --no-hostname_lookup --ip=0.0.0.0 --master=zk://192.168.23.101:2181,192.168.23.102:2181,192.168.23.103:2181/mesos

5.4 刷新mesos-master主页,查看slave节点状态


六 后台运行mesos

先把启动是mesos-master 和 mesos-slave关掉

6.1 启动master,使用nohup命令将mesos-master作为后台程序运行

Master2 和 master3 自行完成

6.2 启动slave


6.3 刷新mesos主页,查看mesos状态

至此,mesos集群部署完毕,本实验针对教学环境,生产环境环境还需要考虑更多因素,如高可用和安全等,下个实验将分享docker mesos集群部署marathon。

希望对您有用,有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。

相关推荐
Knight_AL1 小时前
使用 Docker 快速安装 GitLab(CentOS)
docker·centos·gitlab
牛奔3 小时前
Docker Compose 解决服务间 DNS 解析失败问题
运维·docker·容器
L1624763 小时前
Docker 安装部署全流程使用指南(Linux 通用版)
linux·docker·容器
Mr. Cao code3 小时前
MySQL数据卷实战:持久化存储秘籍
数据库·mysql·docker·容器
桂花树下的猫3 小时前
ubuntu20.04上docker部署
运维·docker·容器
自不量力的A同学4 小时前
Docker 29.1.4
运维·docker·容器
黯叶4 小时前
基于 Docker+Docker-Compose 的 SpringBoot 项目标准化部署(外置 application-prod.yml 配置方案)
java·spring boot·redis·docker
魂之木4 小时前
【零基础教程】基于Docker的RabbitMQ部署方案
分布式·docker·微服务·rabbitmq
星哥说事4 小时前
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台
运维·服务器·docker