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

server/2024/10/4 11:33:31/

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

mesos_1">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_48">三 安装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

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

mesos_yum_84">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源之后最好都执行一下
在这里插入图片描述

mesos_95">3.6 开始安装mesos

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

mesos_98">3.7 配置mesos环境变量

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

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

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

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

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

mesosmaster__mesosslave_111">五 启动mesos-master 和 mesos-slave

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

mesosmaster_113">5.1 启动mesos-master

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

mesosmaster_118">5.2 访问mesos-master

在这里插入图片描述

mesosslave_120">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
在这里插入图片描述

mesosslave_124">5.4 查看mesos-slave

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


http://www.ppmy.cn/server/20889.html

相关文章

程序会自己抛出错误,干嘛还要写try catch?

抛出问题 以前一直困惑,在下面的代码中,进行try catch的意义是什么?js引擎不是会自己抛出错误吗?为什么还要多此一举手动捕获打印呢? const TodoListContainer () > {const [todos, setTodos] useState([]);use…

ArcGIS无法开始编辑TIN!开始编辑TIN显示灰色

ArcGIS无法开始编辑TIN!开始编辑TIN显示灰色? 解决方案! 1、确认自定义——扩展模块中空间分析、3D分析模块勾选。 2、确认以上后,还是不能编辑的话,我们可以调出 3D分析分析工具条,你就会发现。TIN编辑工…

等价类划分发案例

用等价类划分法设计如下案例, 同时编写测试用例 学生姓名: 2到6个汉字;登录密码: 长度大于等于6位,小于等于10位, 密码中只能出现数字或者英文字母或者下划线;两个自然数相除: 除数不能为0; 自然数解释: 自然数是全体非负整数组成的集合, 学生姓名 有效 张三 无效 张 张…

Docker之常见FAQ记录清单

一、前言 本文记录Docker使用过程中遇见的问题,供后续回顾参考。 关联资源:网络Docker博客、官方FAQ、文档、Docker 从入门到实践、中文社区、riptutorial 二、问题及处理记录 2.1、docker容器内没有vi,nano等编辑器 1)如果宿主机本地有&a…

css文字和span在一行对不齐

1.需求背景 父盒子中有两个span,但是span中的文字对不齐。如下图,明显右边的文字偏高 处理后的效果(已经对齐,图中标记的是基本的div结构): 2.该问题出现的原因: span1设置的高度比span2内…

eCognition 分类

目录 前言 一、阈值分类 1、创建自定义特征 2、查看对象特征值 3、阈值分类 3.1 新建类别(如果已有类别即跳过) 3.2、建立分类阈值规则 4、导出分类结果 5、附录:如果需要合并结果、按以下步骤 二、监督分类 1、方法1:利用classification算法(主要用于最邻近)…

IntelliJ IDEA个人可一直使用方法参考

IntelliJ IDEA使用方法 1.下载最新的 IDEA 2021.2.2 版本安装包 https://www.jetbrains.com/idea/download/ 2.先卸载老版本的 IDEA 3.安装新版本,进行激活—勾选 Evaluate for free, 点击 Evaluate, 先试用30天: 4.随便新建个Java工程,然后…

Swift字符串

在 Swift 中,Character 和 String 是用于处理文本数据的两个重要类型。 Character Character 是 Swift 中用于表示单个 Unicode 字符的类型。每个 Character 实例都代表一个可见的字符(如字母、数字、标点符号等),或者一个不可见的…