centos7yum安装mesos(1.0.0)+marathon+zookeeper+docker

本文前半部分参考转载自centos7yum安装mesos(1.0.0)+marathon+zookeeper+docker

采用虚拟机建立一个master,一个slave进行学习。

================== 由于原文格式有点乱,进行整理如下 ==============

摘要:简介mesos+marathon+docker搭建的平台属于docker的集群管理,也属于资源调度管理平台,用于docker应用的集中化部署,云计算等。平台的优点抽象化平台的目的是将多台机器的资源集中管理并抽象成一个计算资源对象,如机房现在有上百台机器运行,则抽象化后平台的计算能力为100cores、500mem、200Tdisk。资源利用率高使用者可以将自己的docker应用直接交付给平台,平台来自动分配资源。
简介
mesos+marathon+docker搭建的平台属于docker的集群管理,也属于资源调度管理平台,用于docker应用的集中化部署,云计算等。
平台的优点
抽象化
平台的目的是将多台机器的资源集中管理并抽象成一个计算资源对象,如机房现在有上百台机器运行,则抽象化后平台的计算能力为100cores、500mem、200Tdisk。
资源利用率高
使用者可以将自己的docker应用直接交付给平台,平台来自动分配资源,至于这个应用部署到哪台机器上,使用者无须担心这个问题。而且这些资源是集中管理的,保证每台机器的资源都能最大化利用。
自动容灾
自动部署的应用,会在marathon里面管理,当部署应用的机器出现故障,marathon会自动将这些应用迁移到别的机器上。

类似的管理平台有docker官方的swarm,google的kubernetes,kubernetes出现的比较晚些,个人认为kubernetes比这套更完善一些,下次可以讲下kubernetes的相关介绍。

注:docker在centos6上面运行很不稳定,如果要在mesos上运行docker的话,建议用centos7
根据官网说明安装的过程记录,linux不同版本操作系统安装不太一样,官网看这里mesosphere官网安装

1.环境

硬件环境

192.168.254.128(master)(mesos,marathon,zookeeper)
192.168.254.129(slave)(mesos)

由于mesos的master和slave节点之间是通过zookeeper进行关联通信的,而且zookeeper建议master至少是三个节点,这里测试用一个也可以

2.准备工作

修改yum源,master和slave节点上都需要做
# 添加阿里云
yum wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 添加mesosphere源
sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

setenforce 0
等同于:
--------------------
vim /etc/selinux/config
>>注释:# SELINUX=enforcing
>>注释:# SELINUXTYPE=targeted 
>>添加:SELINUX=disabled
--------------------

3.master节点安装

3.1.安装mesos、marathon、zookeeper
sudo yum -y install mesos marathon 
# (下面是安装zookeeper的,安装过的就不用安装了) 
sudo yum -y install mesosphere-zookeeper
3.2.zookeeper配置
# 给每一个master的zookeeper设置一个唯一id
touch /var/lib/zookeeper/myid 
echo 1 > /var/lib/zookeeper/myid
# 配置zookeeper的服务地址
vim /etc/zookeeper/conf/zoo.cfg 
(在结尾添加) server.1=192.168.254.128:2888:3888
3.3.mesos-master配置
# 配置mesos(master和slave主要通过这个进行通信)
touch /etc/mesos/zk 
echo "zk://192.168.254.128:2181/mesos" > /etc/mesos/zk
# 配置zookeeper,master的信息
touch /etc/mesos-master/quorum 
echo 1 > /etc/mesos-master/quorum 
# note:(在里面添加一个数字,数字大小不小于master的数量除以2,这里测试一个master,填1就可以)
## 其它配置
touch /etc/mesos-master/ip 
echo "192.168.254.128" > /etc/mesos-master/ip
# (添加master的ip,默认是127.0.0.1,只做显示用) 
touch /etc/mesos-master/hostname 
# (添加master的hostname,默认为localhost,主要在mesos集群间使用,不是机器的hostname,只做显示用)
echo "192.168.254.128" > /etc/mesos-master/hostname
3.4.marathon配置

这个设置和上面配置mesos的hostname效果一样,不配置会显示默认的localhost,不影响使用

mkdir -p /etc/marathon/conf/ 
# touch hostname echo 192.168.254.128 | sudo tee /etc/marathon/conf/hostname
echo 192.168.254.128 /etc/marathon/conf/hostname
3.5.服务设置
关闭mesos-slave,并设置不开机启动
#关机开启启动 
systemctl stop mesos-slave.service 
systemctl disable mesos-slave.service 
#设置开机启动
systemctl enable mesos-master.service 
systemctl enable marathon.service 
systemctl enable zookeeper.service
3.6.服务启动
注意:如果master多个,每一个机器上面都要启动
# zookeeper 启动
## service zookeeper start(stop,restart)
systemctl start zookeeper
# mesos-master启动
## service mesos-master start(stop,restart)
systemctl start mesos-master
# marathon启动
## service marathon start(stop,restart)
systemctl start marathon

4.slave节点安装

4.1.安装mesos,docker
#安装mesos 
sudo yum -y install mesos 
#安装docker 
curl -fsSL https://get.docker.com/ | sh
4.2.mesos-slave配置
# 配置mesos(master和slave主要通过这个进行通信)
touch /etc/mesos/zk 
# 注意该地址要写入master地址进行通信 master ip
echo "zk://192.168.254.128:2181/mesos" > /etc/mesos/zk
# 其它配置
touch /etc/mesos-slave/ip 
# (添加slave的ip,默认是127.0.0.1,只做显示用) 
echo "192.168.254.129" > /etc/mesos-slave/ip 
touch /etc/mesos-slave/hostname 
# (添加slave的hostname,默认为localhost,主要在mesos集群间使用,不是机器的hostname,只做显示用)
echo "192.168.254.129" > /etc/mesos-slave/hostname 
# 配置docker启动(注:如果机器上面没有安装docker,配置下面的会导致slave节点启动不了)
echo 'docker,mesos' > /etc/mesos-slave/containerizers 
echo '5mins' > /etc/mesos-slave/executor_registration_timeout
4.3.服务设置
关闭mesos-master,并设置不开机启动
##关闭开机启动 
sudo systemctl stop mesos-master.service 
sudo systemctl disable mesos-master.service 
##设置开机启动 
systemctl enable mesos-slave.service 
systemctl enable docker.service
4.4.服务启动
注意:如果slave多个,每一个机器上面都要启动
# mesos-slave启动
## service mesos-slave start(stop,restart) 
systemctl start mesos-slave
## service docker start
systemctl start docker 

5.预览

在网页中访问ui界面,如果上述步骤不能实现marathon UI的展现,可尝试以下步骤实现marathon的配置。
参考官网,下载marathon,或者直接运行下载

curl -O http://downloads.mesosphere.com/marathon/v1.5.1/marathon-1.5.1.tgz
tar xzf marathon-1.5.1.tgz
cd marathon-1.5.0-96-gf84298d/
./bin/marathon --master zk://192.168.254.128:2181/mesos --zk zk://192.168.254.128:2181/marathon

在这里插入图片描述

在网页中查看mesos webUI界面 http://192.168.254.128:5050/#/

在这里插入图片描述

查看marathon UI界面: http://192.168.254.128:8080/ui/#/apps

在这里插入图片描述

参考:
https://segmentfault.com/q/1010000004296253 (加鸡腿)
https://blog.csdn.net/fujianfafu/article/details/80697524
https://blog.csdn.net/mnasd/article/details/79829154
https://blog.csdn.net/myjbase/article/details/79608571

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值