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。
希望对您有用,有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。