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

容器集群管理实战mesos+zookeeper+marathon(一)

mesos概述

1.1 Mesos是什么

Apache Mesos 是一个基于多资源调度的集群管理软件,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行 Hadoop、Spark以及docker等。

1.2 为什么要进行资源调度

假如某个公司的业务需要频繁的使用多个容器,这些容器运行时需要使用很多的cpu和内存等资源,如何保证每个容器都能分配到合适的资源,我们就需要一个工具来进行资源的管理和分配等,这个工具就是Mesos,与Mesos类似的工具还有YARN。

1.3 Mesos的优缺点

优点:
资源管理策略:
简单来说就是Mesos 能够保证集群内的所有用户有平等的机会使用集群内的资源,这里的资源包括 CPU,内存,磁盘等等。
轻量级:
Mesos只负责提供资源,不负责调度资源。大概意思就是将当前集群或者主机剩余的资源提供给注册到mesos的调度器,由调度器决定使用多少资源以及释放多少资源,提高分布式集群的资源利用率。
缺点比如目前对无状态服务支持不够,更多内容请自行查阅资料。
实际上可以做到安装完mesos再克隆,也就是3.6节之前所有的内容,这样就可以只做一个节点就行,提前克隆的话就需要在每一个节点上面都要做相同的步骤,不过克隆了再安装也行,就当练习了。

一 实验环境

1.1 系统版本,本实验使用cnetos7.9版本镜像

在这里插入图片描述

1.2 准备5台虚拟机,其中3台master,两台slave,使用克隆的方式

在这里插入图片描述
在这里插入图片描述

1.3 使用远程连接工具登录

在这里插入图片描述
在这里插入图片描述

1.4 修改主机名

在这里插入图片描述
在这里插入图片描述

1.5 设置域名映射

每个虚拟机都配置一下,这里就演示一台虚拟机的配置
在这里插入图片描述

1.6 安装vim编辑器(可选)其他节点操作方法一样,这里只演示一台

在这里插入图片描述

1.7 各节点安装软件列表

在这里插入图片描述

二 安装jdk(所有节点)

2.1 在master1上面安装jdk,解压改文件名

在这里插入图片描述

2.2 配置jdk环境变量

在这里插入图片描述
在这里插入图片描述

2.3 生效环境变量并验证

在这里插入图片描述

2.4 将master1节点的jdk源文件以及环境变量配置文件拷贝到其他节点

在这里插入图片描述
拷贝jdk解压文件只演示一个节点,其他节点自行完成
在这里插入图片描述

2.5 在其他节点生效jdk配置并验证

生效jdk配置只演示一个节点,其他节点自行完成
在这里插入图片描述

三 安装mesos(所有节点)

3.1 安装开发工具

在这里插入图片描述

3.2 添加maven源,并生成yum缓存

首先检查一下有没有wget命令
命令单独执行麻烦,可以这样写:

yum -y install wget && wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo --no-check-certificate && yum clean all && yum makecache

但是一定要注意有没有执行成功!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 安装相关软件依赖

yum -y install apache-maven python-devel zlib-devel libcurl-devel openssl-devel
cyrus-sasl-md5 apr-devel apr-util-devel subversion-devel

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里只演示master1节点的安装,其他节点就不截图了,请自行完成

3.4 配置WANdiscoSVN网络

vi /etc/yum.repos.d/wandisco-svn.repo 添加以下内容
[WANdiscoSVN]
name=WANdisco SVN Repo 1.9
enabled=1
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco

在这里插入图片描述
在这里插入图片描述
将这个文件发送到其他节点
在这里插入图片描述

3.5 安装mesos yum源

两种安装方法:yum安装和源码编译安装,本次实验采用yum安装

首先下载mesos yum源
rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
下载mesos yum源和更新yum缓存命令
rpm -ivh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm && yum clean all && yum makecache
在这里插入图片描述
在这里插入图片描述
建立yum缓存,添加了新的yum源之后最好都执行一下
在这里插入图片描述

3.6 开始安装mesos

在这里插入图片描述
在这里插入图片描述

3.7 配置mesos环境变量

在这里插入图片描述
在这里插入图片描述
将环境变量配置文件分发到其他节点,并生效配置
在这里插入图片描述

至此,mesos安装完成,这里犯了一个失误,本来可以做到这里再克隆的,这样就不用在每个节点都做这么多操作,
只需要改IP地址和主机名就行了!!!

四 关闭mesos开机自启动,使用自定义启动mesos-master 和 mesos-slave

4.1 安装完成重启服务器,查看系统服务端口情况

在这里插入图片描述
重启之后发现每个节点上都会启动一个mesos-master 和 mesos-slave,关闭自启动并禁用开机自启动(所有节点)
在这里插入图片描述

五 启动mesos-master 和 mesos-slave

这里先演示单节点启动,一台master和一台slave,下一个教程演示集群启动mesos并部署运行marathon

5.1 启动mesos-master

mesos-master --work_dir=/home/mesos/data --log_dir=/home/mesos/logs --no-hostname_lookup --ip=0.0.0.0
在这里插入图片描述
在这里插入图片描述

5.2 访问mesos-master

在这里插入图片描述

5.3 启动mesos-slave

mesos-slave --containerizers=“mesos,docker” --work_dir=/home/mesos/data --log_dir=/home/mesos/logs --no-hostname_lookup --master=192.168.23.101:5050 --ip=0.0.0.0
在这里插入图片描述

5.4 查看mesos-slave

在这里插入图片描述
在这里插入图片描述
本教程针对教学环境,非生产环境。更多内容敬请期待!
希望对您有用,有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。

上一篇:基于ssm + 小程序的党建考试系统实现与设计(源码+数据库+文档)


下一篇:Node.js -- fs模块-1. 写入文件