2.centos7 安装Mesos和marathon
master节点
| 节点名称 | IP地址 |
| master1 | 192.168.161.128 |
由于硬件资源有限,这里仅安装一个master节点,会存在单点问题.在实际生产中,尽量不要这样操作.
1.安装zookeeper
https://www.cnblogs.com/gytangyao/p/10172265.html
2.安装Mesos
1)添加mesos yum源
sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
yum -y install mesos marathon
2)更改mesos的zk配置
vi /etc/mesos/zk
写入zookeeper节点的地址,例如:zk://192.168.1.110:2181,192.168.1.111:2181,192.168.1.112:2181/mesos
zk://192.168.161.128:2181/mesos
按需更改quorum,如果zookeeper以单机模式运行则不用修改
设置 --quorum=2 的意思是:至少要有 2 台 master 节点在线,否则集群无法起来,所以至少要两台 master 一起启动。
vi /etc/mesos-master/quorum
3)配置mesos-master和marathon 的hostname和ip
hostname直接配置的本机ip,是为了防止出现dns无法解析的问题;
echo "192.168.161.128" > /etc/mesos-master/ip
echo "192.168.161.128" > /etc/mesos-master/hostname
mkdir -p /etc/marathon/conf/
echo "192.168.161.128" > /etc/marathon/conf/hostname
echo "192.168.161.128 master1" >> /etc/hosts
4)给marathon填加mesos的地址参数
vim /etc/default/marathon MARATHON_MASTER="zk://192.168.161.128:2181/mesos" MARATHON_ZK="zk://192.168.161.128:2181/marathon" MARATHON_MESOS_USER="root"
5)启动服务
systemctl start zookeeper && systemctl start mesos-master && systemctl start marathon && systemctl disable mesos-slave
6)其他配置
Marathon WebUI默认的端口是8080,修改端口的方法:
vi /etc/default/marathon export HTTP_PORT=8181 export MARATHON_HTTP_PORT=8181
6)错误排错
Required option 'master' not found 可使用 journalctl -u marathon 查看日志
# journalctl -u marathon -- Logs begin at Thu 2018-06-14 15:55:28 CST, end at Thu 2018-06-14 19:52:34 CST. -- Jun 14 15:55:35 dev-master-01 systemd[1]: marathon.service holdoff time over, scheduling restart. Jun 14 15:55:35 dev-master-01 systemd[1]: Starting Scheduler for Apache Mesos... Jun 14 15:55:35 dev-master-01 systemd[1]: Started Scheduler for Apache Mesos. Jun 14 15:55:35 dev-master-01 marathon[7966]: No start hook file found ($HOOK_MARATHON_START). Proceeding with the start script. Jun 14 15:55:36 dev-master-01 marathon[7966]: [scallop] Error: Required option 'master' not found Jun 14 15:55:36 dev-master-01 systemd[1]: marathon.service: main process exited, code=exited, status=1/FAILURE Jun 14 15:55:36 dev-master-01 systemd[1]: Unit marathon.service entered failed state. Jun 14 15:55:36 dev-master-01 systemd[1]: marathon.service failed. Jun 14 15:56:36 dev-master-01 systemd[1]: marathon.service holdoff time over, scheduling restart. Jun 14 15:56:36 dev-master-01 systemd[1]: Starting Scheduler for Apache Mesos... Jun 14 15:56:36 dev-master-01 systemd[1]: Started Scheduler for Apache Mesos. Jun 14 15:56:36 dev-master-01 marathon[8046]: No start hook file found ($HOOK_MARATHON_START). Proceeding with the start script. Jun 14 15:56:37 dev-master-01 marathon[8046]: [scallop] Error: Required option 'master' not found Jun 14 15:56:37 dev-master-01 systemd[1]: marathon.service: main process exited, code=exited, status=1/FAILURE Jun 14 15:56:37 dev-master-01 systemd[1]: Unit marathon.service entered failed state. Jun 14 15:56:37 dev-master-01 systemd[1]: marathon.service failed.
如提示:java.lang.IllegalStateException: Multiple election participants have the same ID: master1:8080. This is not allowed.
则可能是多次执行了设置ip或者hostname,需要检查第三步的配置是否正确
12月 25 12:28:08 master1 marathon[8724]: java.lang.IllegalStateException: Multiple election participants have the same ID: master1:8080. This is not allowed. 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.core.election.CuratorElectionStream$CuratorEventEmitter.emitLeader(CuratorElectionStream.scala:157) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.core.election.CuratorElectionStream$CuratorEventEmitter.$anonfun$longPollLeaderChange$1(CuratorElectionStream.scala:117) 12月 25 12:28:08 master1 marathon[8724]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 12月 25 12:28:08 master1 marathon[8724]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 12月 25 12:28:08 master1 marathon[8724]: at java.lang.Thread.run(Thread.java:748) 12月 25 12:28:08 master1 marathon[8724]: [2018-12-25 12:28:08,788] INFO Closing leader latch (mesosphere.marathon.core.election.CuratorElectionStream$:pool-1-thread-1) 12月 25 12:28:08 master1 marathon[8724]: [2018-12-25 12:28:08,812] INFO Shutting down services (mesosphere.marathon.MarathonApp:shutdownHook3) 12月 25 12:28:08 master1 marathon[8724]: [2018-12-25 12:28:08,819] INFO Shutdown triggered (mesosphere.marathon.MarathonSchedulerService:shutdownHook3) 12月 25 12:28:08 master1 marathon[8724]: [2018-12-25 12:28:08,819] ERROR abdicateLeadership was called (mesosphere.marathon.core.election.ElectionServiceImpl:shutdownHook3) 12月 25 12:28:08 master1 marathon[8724]: mesosphere.marathon.Exception: abdicateLeadership 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.core.election.ElectionServiceImpl.abdicateLeadership(ElectionService.scala:151) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonSchedulerService.triggerShutdown(MarathonSchedulerService.scala:169) 12月 25 12:28:08 master1 marathon[8724]: at com.google.common.util.concurrent.AbstractExecutionThreadService$1.doStop(AbstractExecutionThreadService.java:95) 12月 25 12:28:08 master1 marathon[8724]: at com.google.common.util.concurrent.AbstractService.stopAsync(AbstractService.java:242) 12月 25 12:28:08 master1 marathon[8724]: at com.google.common.util.concurrent.AbstractExecutionThreadService.stopAsync(AbstractExecutionThreadService.java:214) 12月 25 12:28:08 master1 marathon[8724]: at com.google.common.util.concurrent.ServiceManager.stopAsync(ServiceManager.java:331) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonApp.$anonfun$shutdown$1(Main.scala:103) 12月 25 12:28:08 master1 marathon[8724]: at scala.Option.foreach(Option.scala:257) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonApp.shutdown(Main.scala:103) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonApp.$anonfun$shutdownAndWait$1(Main.scala:108) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonApp.$anonfun$shutdownAndWait$1$adapted(Main.scala:107) 12月 25 12:28:08 master1 marathon[8724]: at scala.Option.foreach(Option.scala:257) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonApp.shutdownAndWait(Main.scala:107) 12月 25 12:28:08 master1 marathon[8724]: at mesosphere.marathon.MarathonApp.$anonfun$start$1(Main.scala:80) 12月 25 12:28:08 master1 marathon[8724]: at scala.sys.ShutdownHookThread$$anon$1.run(ShutdownHookThread.scala:34) 12月 25 12:28:08 master1 marathon[8724]: [2018-12-25 12:28:08,822] INFO backgroundOperationsLoop exiting (org.apache.curator.framework.imps.CuratorFrameworkImpl:Curator-Framework-0) 12月 25 12:28:10 master1 systemd[1]: marathon.service: main process exited, code=exited, status=137/n/a 12月 25 12:28:10 master1 systemd[1]: Unit marathon.service entered failed state. 12月 25 12:28:10 master1 systemd[1]: marathon.service failed.
Slave节点
| 节点名称 | IP地址 |
| slave1 | 192.168.161.200 |
| slave2 | 192.168.161.201 |
| slave3 | 192.168.161.202 |
1)添加 mesos的yum源
sudo rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
2)安装mesos
yum -y install mesos
3)配置master信息
master信息需要和前面安装的master节点对应
vim /etc/mesos/zk
zk://192.168.161.128:2181/mesos
4)mesos-slave配置ip&hostname
以下需要按照情况各自配置
slave1:
echo "192.168.161.200" > /etc/mesos-slave/ip echo "192.168.161.200" > /etc/mesos-slave/hostname #修改hosts echo "192.168.161.200 slave1" >> /etc/hosts
slave2:
echo "192.168.161.201" > /etc/mesos-slave/ip echo "192.168.161.201" > /etc/mesos-slave/hostname #修改hosts echo "192.168.161.201 slave2" >> /etc/hosts
slave3:
echo "192.168.161.202" > /etc/mesos-slave/ip echo "192.168.161.202" > /etc/mesos-slave/hostname #修改hosts echo "192.168.161.202 slave3" >> /etc/hosts
5)启动mesos-slave
systemctl start mesos-slave && systemctl enable mesos-slave && systemctl disable mesos-master
6)错误排查
如遇到slave连接不上master的情况,如果没有对mesos的日志存放目录进行特殊修改
请在 /var/log/mesos/ 下查看日志
日志信息如下: [root@slave2 ~]# cd /var/log/mesos/ [root@slave2 mesos]# ls mesos-slave.ERROR mesos-slave.slave2.invalid-user.log.INFO.20181225-141244.8972 mesos-slave.slave2.invalid-user.log.INFO.20181225-181648.8959 mesos-slave.slave2.invalid-user.log.WARNING.20181225-180358.8998 mesos-slave.INFO mesos-slave.slave2.invalid-user.log.INFO.20181225-141514.8965 mesos-slave.slave2.invalid-user.log.WARNING.20181225-115141.9449 mesos-slave.slave2.invalid-user.log.WARNING.20181225-180823.8952 mesos-slave.slave2.invalid-user.log.ERROR.20181225-145851.8960 mesos-slave.slave2.invalid-user.log.INFO.20181225-141841.8986 mesos-slave.slave2.invalid-user.log.WARNING.20181225-115709.8954 mesos-slave.slave2.invalid-user.log.WARNING.20181225-181649.8959 mesos-slave.slave2.invalid-user.log.ERROR.20181225-155517.8987 mesos-slave.slave2.invalid-user.log.INFO.20181225-145406.8960 mesos-slave.slave2.invalid-user.log.WARNING.20181225-141254.8972 mesos-slave.WARNING mesos-slave.slave2.invalid-user.log.ERROR.20181225-180825.8952 mesos-slave.slave2.invalid-user.log.INFO.20181225-155333.8987 mesos-slave.slave2.invalid-user.log.WARNING.20181225-141852.8986 mesos-slave.slave2.invalid-user.log.INFO.20181225-115131.9449 mesos-slave.slave2.invalid-user.log.INFO.20181225-180357.8998 mesos-slave.slave2.invalid-user.log.WARNING.20181225-145851.8960 mesos-slave.slave2.invalid-user.log.INFO.20181225-115659.8954 mesos-slave.slave2.invalid-user.log.INFO.20181225-180823.8952 mesos-slave.slave2.invalid-user.log.WARNING.20181225-155334.8987 [root@slave2 mesos]#
2.centos7 安装Mesos和marathon的更多相关文章
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
随着"互联网+"时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及 ...
- Mesos+Zookeeper+Marathon+Docker环境搭建
相关理论请参考:https://www.cnblogs.com/Bourbon-tian/p/7155054.html,本文基于https://www.cnblogs.com/Bourbon-tian ...
- Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践
参考赵班长的unixhot以及马亮blog 笔者QQ:572891887 Linux架构交流群:471443208 1.1Mesos简介 Mesos是Apache下的开源分布式资源管理框架,它被称为分 ...
- docker集群——搭建Mesos+Zookeeper+Marathon的Docker管理平台
服务器架构 机器信息: 这里部属的机器为3个Master控制节点,3个slave运行节点,其中: zookeeper.Mesos-master.marathon运行在Master端:Mesos-sla ...
- Mesos以及Marathon安装总结
安装了将近一周的环境了,终于把Mesos以及Marathon给安装上了,我指的离线安装. 策略1: 严格的按照官网的流程: http://mesos.apache.org/gettingstarted ...
- HP服务器 hp 360g5 centos7安装问题
HP服务器 hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...
- CentOS7 安装Mono及Jexus
CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...
- CentOS7安装mysql提示“No package mysql-server available.”
针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...
- CentOS7安装Oracle 11gR2 安装
概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...
随机推荐
- Codeforces 1114D Flood Fill (区间DP or 最长公共子序列)
题意:给你n个颜色块,颜色相同并且相邻的颜色块是互相连通的(连通块).你可以改变其中的某个颜色块的颜色,不过每次改变会把它所在的连通块的颜色也改变,问最少需要多少次操作,使得n个颜色块的颜色相同. 例 ...
- Data Mining: SSE,MSE,RMSE,R-square指标讲解
转载自:http://blog.csdn.net/l18930738887/article/details/50629409 SSE(和方差.误差平方和):The sum of squares due ...
- java中下面这些引入都代表什么意思啊?
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; import java.uti ...
- SSH框架(四) struts2+spring3.0的登陆示例
(一)关键理念及需要注意的地方: 使用struts2+spring3.0的框架搭建web程序,就是使用spring来进行依赖注入(依赖注入请参考baidu上面的解释:http://baike.baid ...
- 《Linux内核设计与实现》读书笔记(六)- 内核数据结构
内核数据结构贯穿于整个内核代码中,这里介绍4个基本的内核数据结构. 利用这4个基本的数据结构,可以在编写内核代码时节约大量时间. 主要内容: 链表 队列 映射 红黑树 1. 链表 链表是linux内核 ...
- 具有增删改查功能的表格Demo--【BootStrap】
http://blog.csdn.net/wangmei4968/article/details/48437175
- Docker 的优势
下面我们主要从Docker对业务架构和生产实践的角度来分析. 随着业务规模的逐渐扩大,产品复杂度也随着增加,企业需要解决快速迭代.高可靠和高可用等问题,一个自然的选择是服务化的拆分,把一个单体架构拆分 ...
- 3分钟实现iOS语言本地化/国际化(图文详解)
前言 语言本地化,又叫做语言国际化. 是指根据用户操作系统的语言设置,自动将应用程序的语言设置为和用户操作系统语言一致的语言. 往往一些应用程序需要提供给多个国家的人群使用,或者一个国家有多种语言,这 ...
- 编译 ambari 2.7.3
官方给的教程比较简单,需要事先安装的工具也是这里列一点,那里列一点.在此记录一下编译要点(在 centos 7 下). 1. 事先需要安装的工具 yum install -y git svn node ...
- Sum of LCM (lcmsum)
题目 [题目描述] 对于 $ A_1, A_2, \ldots, A_N $ ,求$\sum_{i = 1}^N \sum_{j = 1}^N \mathrm{lcm}(A_i, A_j)$ 的值. ...