容器集群管理实战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
本教程针对教学环境,非生产环境。更多内容敬请期待!
希望对您有用,有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。