设为首页 收藏本站
查看: 783|回复: 0

[经验分享] Mesosphere Cluster on CentOS7 (zookeeper+mesos+marathon)

[复制链接]

尚未签到

发表于 2019-1-8 08:46:59 | 显示全部楼层 |阅读模式
  简介

  mesosphere

  mesos
  marathon
  zookeeper:
  为master的mesos/marathon的配置文件,这保证master更轻量级。
  大概为这几个概念,能找到这里的基本上都是知道他们是干啥的,这里不废话了。不懂的可自行脑补。
  

  环境:
Hostname
FunctionIP Address
master1
Mesos master172.18.2.94
master2Mesos master172.18.2.95
master3Mesos master172.18.2.96
slave1Mesos slave172.18.2.97
slave2Mesos slave172.18.2.98
slave3Mesos slave172.18.2.99
slave4Mesos slave  172.18.2.100
  

  描述:
  首先,master为3台机器,做zookeeper集群做配置管理(mesos/marathon/zookeeper),然后3个master节点做高可用、Marathon同理。
  

  提前工作
  ①关掉selinux
setenforece 0 (配置文件自行修改)  ②关掉firewalld
systemctl disable firewalld.service  ③清空防火墙
iptables -F  

  

  

Master Nodes Setup
Package Installation
  这里为了简单起便,将使用yum来装,当然你可以自己编译,效果一样。其他的还有docker仓库直接装的,方法很多,看你环境吧。
Setup Repositories
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpmInstall
yum -y install mesosphere-zookeeper
yum -y install mesos marathon  

Configuration
ZooKeeper
  ①,先给每台机器zookeeper打标签:
echo 1 > /etc/zookeeper/conf/myid
PS:
有些可能在 /var/lib/zookeeper/myid  注意:myid中的每台机器不同,对应下面配置文件中的server.$NUM
  在/etc/zookeeper/conf/zoo.cfg配置文件中追加以下内容:
server.1=172.18.2.94:2888:3888
server.2=172.18.2.95:2888:3888
server.3=172.18.2.96:2888:3888  解释下这个后边的$IP,$PORT1,$PORT2
IP不解释
$PORT1 因为三台为高可用,肯定有个master,这个端口是master起的;
$PORT2 为他们互相检查、看谁当master检查用的。  

  然后就可以重启zookeeper服务了(端口为2181)

systemctl start zookeeper  

Mesos
ZooKeeper
  在每个节点上,需要配置zookeeper的地址,像这样写进/etc/mesos/zk

zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesosQuorum
  我不确定这个是不是BUG,因为这个官方要求参数,3台master的情况下,这个配置应该为2的,但是当你设置成2的时候,3台master一直会去争抢leader,导致slave节点无法注册,所以这里我们将它搞为1
echo 1 > /etc/mesos-master/quorumHostname
  这里说下,我们把主机名master$num 写进hosts解析里面,然后把各自的主机名写进这个文件中
echo $master > /etc/mesos-master/hostname  需要将本机的ip写进配置文件中
echo $host > /etc/mesos-master/ip  

  然后mesos的配置这里就ok了,但是你得注意一点,把他自身的一些东西给处理下
systemctl stop mesos-slave.service
systemctl disable mesos-slave.service  然后重启mesos
systemctl restart mesos-master.service

Marathon
  首先,创建下他的配置文件的路径(yum装的没给我们创建)
mkdir -p /etc/marathon/confHostname
  把mesos的直接拷过来就好了
cp /etc/mesos-master/hostname /etc/marathon/confZooKeeper
  这里有2点:①配置marathon自己的zk,另外还需要连接mesos自己的,因为他要过去调度任务呀
cp /etc/mesos/zk /etc/marathon/conf/master
cp /etc/marathon/conf/master /etc/marathon/conf/zk
vim /etc/marathon/conf/zk
内容:zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/marathon  然后重启marathon
systemctl restart marathon.service  

Master is ok !
  mesos访问地址:

172.18.2.94:5050

  

  marathon访问地址:
172.18.2.94:8080

  

Slave Node Setup
Package Installation
Setup Repositories
rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpmInstall from package
yum -y install mesosConfiguration
Mesos
  首先要关掉master

systemctl stop mesos-master.service
systemctl disable mesos-master.serviceZooKeeper
  配置zookeeper的地址,因为说过他们会向zookeeper注册,配置同master /etc/mesos/zk
zk://172.18.2.94:2181,172.18.2.95:2181,172.18.2.96:2181/mesosHostname
  同理,这里为/etc/mesos-slave/hostname
需要将本机的ip写进配置文件中
echo $host > /etc/mesos-slave/ipStart Services
systemctl restart mesos-slave.service  然后,到mesos管理端,去查看slave的注册情况


Starting Services on Mesos and Marathon
  这里不做复杂的演示,只做简单的。
  WEB UI
  master1:5050


  

Starting a Service through the API
  首先准备一个json文件(hello2.json)

{
    "id": "hello2",
    "cmd": "echo hello; sleep 10",
    "mem": 16,
    "cpus": 0.1,
    "instances": 1,
    "disk": 0.0,
    "ports": [0]
}  

  然后调用api
curl -i -H 'Content-Type: application/json' -d@hello2.json master1:8080/v2/apps


  就到这里吧,太久没写了,找不到感觉。
  细节地方大家注意好就行




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-660566-1-1.html 上篇帖子: zookeeper python接口 下篇帖子: zookeeper集群搭建及优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表