Centos7安装Mesos

Apache Mesos官方文档只提供了源码安装方式,然而我尝试了几次,总是在某些阶段报错。而通过搜索引擎搜到的其他办法,也多少会遇到一些莫名其妙的错误。所以根据自己尝试的结果,整理了一个简单的方法。

1,添加yum仓库

rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-3.noarch.rpm

2,安装zookeeper

yum -y install mesosphere-zookeeper

如有现成zookeeper可以直接用,也可以自行从apache下载zookeeper。

3,安装mesos

yum -y install mesos

4,docker

yum -y install docker

如果如果不使用docker作为容器,可以不安装docker。

5,启动zookeeper

systemctl start zookeeper

通过yum安装的zookeeper自带默认配置文件,可以直接启动。

6,配置zookeeper地址

echo "zk://127.0.0.1:2181/mesos" > /etc/mesos/zk

用于master实现高可用和master与slave交互

7,配置master启动参数

1//master工作路径,存储集群持久化信息的。如果不配,启动会报错。 2//安装后已经自动配置为/var/lib/mesos 3echo /var/lib/mesos/master > /etc/mesos-master/work_dir 4//master集群保持高可用的最少实例数。通常设置为大于master实例数量的大多数且为基数,当前只有一个实例,所以配置为1。 5//如果参数registry设置为in_memory,表示集群持久化信息存储在内存中,即standalone模式时,可以不配置,否则无法启动。 6//安装后已经自动配置为1 7echo 1 > /etc/mesos-master/quorum 8//master监听地址,必须配置,否则其他机器无法连通 9echo 172.18.21.192 > /etc/mesos-master/ip

8,启动mesos-master

systemctl start mesos-master

9,浏览器打开master地址http://192.168.2.151:5050,即可看到mesos web页面

10,配置slave启动参数

1//slave支持的容器类型,可选mesos(基于LXC实现的资源隔离)和docker(需安装docker),默认mesos 2echo docker,mesos > /etc/mesos-slave/containerizers 3//slave的工作目录,用于executor保存sandboxe和故障转移检查点 4//安装后已经自动配置为/var/lib/mesos 5echo /var/lib/mesos > /etc/mesos-slave/work_dir

11,启动mesos-slave

systemctl start  mesos-slave 

12,此时可以在mesos web页面点击Agents,就可以看到mesos已经发现了slave。新版名字从slave改成了agent,但命令名字都没改,不知道为什么。

安装完成。

有几点补充:

1,如果配置了支持docker容器,必须安装dokcer,否则slave启动会报错。

2,如果zookeeper是集群,需要把zk地址配置为:

echo "zk://192.168.2.151:2181,192.168.2.152:2181,192.168.2.153:2181/mesos" > /etc/mesos/zk

3,要搭建master集群,只需把各个master节点配置相同的zookeeper地址,并把quorum设置为对应值,如有三个master节点,需要在每个机子上执行:

echo 2 > /etc/mesos-master/quorum

4,曾经遇到过master一直报slave丢失,猜测可能跟mesos版本或者操作系统网络配置有关,配置一下slave监听地址就解决了:

echo 192.168.2.151 > /etc/mesos-master/ip 

5,在某些操作系统使用systemctl启动slave可能会报错,可以直接使用命令启动。参数可以执行mesos-slave --help查看,master同理:

mesos-slave --master=zk://127.0.0.1:5050/mesos  --log_dir=/var/log/mesos --containerizers=docker,mesos --work_dir=/etc/mesos-slave/work_dir

6,实际上用systemctl命令启动服务,是通过/usr/bin/mesos-init-wrapper脚本读取配置文件,最终调用mesos-master或mesos-slave命令启动,详情可以查看脚本内容。

7,slave启动不了可以尝试执行rm -f /var/lib/mesos/meta/slaves/latest解决。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid