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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2981014.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

maven多模块创建-安装配置

1、前提 许久没有写文章了,荒废了2年多的时间,在整理的时候,发现Maven还差一篇安装配置的文章,现在开始提笔完善它,参考:https://blog.csdn.net/m0_72803119/article/details/134634164。 —写于2024年4月…

在 Slurm 上运行 Jupyter

1. 背景介绍 现在的大模型训练越来越深入每个组了,大规模集群系统也应用的愈发广泛。一般的slurm系统提交作业分为2种,一种是srun,这种所见即所得的申请方式一般适用于短期的调试使用,大概一般允许的时间从几个小时到1天左右&…

自然语言处理: 第二十八章大模型基底之llama3

项目地址: meta-llama/llama3: The official Meta Llama 3 GitHub site 前言 LLaMa系列一直是人们关注的焦点,Meta在4月18日发布了其最新大型语言模型 LLaMA 3。该模型将被集成到其虚拟助手Meta AI中。Meta自称8B和70B的LLaMA 3是当今 8B 和 70B 参数规模的最佳模…

Elasticsearch集群部署(Linux)

1. 准备环境 这里准备三台Linux虚拟机,用于配置Elasticsearch集群和部署可视化工具Kibana。 角色IP域名集群名称节点名称版本操作系统ES192.168.243.100linux100cluster-eses-node-1007.12.0CentOS 7192.168.243.101linux101cluster-eses-node-101192.168.243.102…

ISP比普通的静态代理相比有什么优势?

ISP(Internet Service Provider),即互联网服务提供商,是向广大用户综合提供互联网接入业务、信息业务、增值业务的电信运营商。而静态代理则是一个固定不变的代理IP地址,具有稳定性强、兼容性好和管理方便等特点。当我…

分布式与一致性协议之拜占庭将军问题(三)

拜占庭将军问题 叛将先发送消息 如果是叛将楚先发送作战消息,干扰作战计划,结果会有所不同吗? 在第一轮作战信息协商中,楚向苏秦发送作战指令"进攻",向齐、燕发送作战指令"撤退",如图所示(当然还…

基于Python+Selenium+Pytest的Dockerfile如何写

使用 Dockerfile 部署 Python 应用程序与 Selenium 测试 在本文中,我们将介绍如何使用 Dockerfile 部署一个 Python 应用程序,同时利用 Selenium 进行自动化测试。我们将使用官方的 Python 运行时作为父镜像,并在其中安装所需的依赖项和工具…

【白菜学习问问问系列】if __name__ == ‘__main__‘:怎么理解

可以让.py文件既可以当成一个模块调用,也可以单独的作为一个函数执行

用html画一个四叶草

<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>四叶草</title> <link href"" rel"stylesheet"> <link rel"stylesheet" href"css/style.css&q…

经典的目标检测算法有哪些?

一、经典的目标检测算法有哪些&#xff1f; 目标检测算法根据其处理流程可以分为两大类&#xff1a;One-Stage&#xff08;单阶段&#xff09;算法和Two-Stage&#xff08;两阶段&#xff09;算法。以下是一些经典的目标检测算法&#xff1a; 单阶段算法: YOLO (You Only Loo…

vue项目使用百度地图

打开百度地图开放平台 百度地图开放平台 | 百度地图API SDK | 地图开发 在控制台新建应用 复制访问应用的ak 可修改地图样式 使用部分 <!-- 引入地图 --><div class"main-aside"><div id"b-map-container"></div></div> …

Stable Diffusion WebUI 使用 LoRA 调整风格——详细教程

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 本教程旨在深入探讨 LoRA 模型的奥秘&#xff0c;涵盖其基本概念、独特作用以及实操指南。我们将从下载和使用LoRA的步…

详解数据结构:队列(含栈与队列扩展)

一、顺序队列 有一种线性序列&#xff0c;特点是先进先出&#xff0c;这种存储结构称为队列。队列也是一种线性表&#xff0c;只不过它是操作受限的线性表&#xff0c;只能再两端操作&#xff1a;一端进、一端出。进的一端称为队尾&#xff0c;出的一端称为队头。队列可以用顺…

贪心算法在单位时间任务调度问题中的应用

贪心算法在单位时间任务调度问题中的应用 一、引言二、问题描述与算法设计三、算法证明四、算法实现与效率分析五、C语言实现示例六、结论 一、引言 单位时间任务调度问题是一类经典的优化问题&#xff0c;旨在分配任务到不同的时间槽中&#xff0c;使得某种性能指标达到最优。…

RTU遥测终端为城市排水安全保驾护航!

近年来&#xff0c;全球气候变迁与城市化进程不断加速&#xff0c;导致强降雨事件频发&#xff0c;道路低洼地带、下穿式立交桥和隧道等区域在暴雨中常易积水&#xff0c;严重阻碍了人民的出行&#xff0c;甚至危及生命与财产安全。而传统的排水管网管理方式已难以适应现代城市…

elasticsearch-8.1.0安装记录

目录 零、版本说明一、安装二、使用客户端访问 零、版本说明 centos [rootnode1 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)elasticsearch elasticsearch-8.1.0-linux-x86_64一、安装 systemctl stop firewalld.servicesystemctl disable firewal…

MATLAB 数据类型

MATLAB 数据类型 MATLAB 不需要任何类型声明或维度语句。每当 MATLAB 遇到一个新的变量名&#xff0c;它就创建变量并分配适当的内存空间。 如果变量已经存在&#xff0c;那么MATLAB将用新内容替换原始内容&#xff0c;并在必要时分配新的存储空间。 例如&#xff0c; Tota…

【Linux】深入理解Linux文件系统与日志分析

目录 一、inode与block 1.block与inode概述 2.inode的内容 3.inode号码 4.inode的大小 5.访问文件的简单流程 6.inode的特殊作用 7.通过indoe号删除rm常规方法删除不掉的文件 二、硬链接和软链接 三、恢复误删除的文件 1.恢复EXT类型的文件 示例 2.xfs类型文件备份…

通信场景:动态调整对象池大小

通信场景&#xff1a;动态调整对象池大小 文章目录 通信场景&#xff1a;动态调整对象池大小前言历史通信量队列长度系统资源响应时间结语 前言 在做通信相关的开发时&#xff0c;使用对象池管理用于存放接收数据的内存块&#xff0c;是一种常见的优化技术。特别是在需要频繁分…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的&#xff0c;所以被引用的对象A&#xff0c;就在GC Root的引用链上了。只要这一层关系存在&#xff0c;对象A就不会被垃圾回收器回收。所以只要…