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。

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

相关推荐
辉的技术笔记18 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
程序员老赵2 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵2 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
lichenyang4534 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4534 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson8 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy9 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭9 天前
运行你的第一个Docker容器
后端·docker·容器