安装了将近一周的环境了,终于把Mesos以及Marathon给安装上了,我指的离线安装。
策略1:
严格的按照官网的流程:
找一台能够上网的机器,通过yum install/update --downloadonly --downloaddir=/opt/XXX
但是所有的yum下载都不要安装而是缓存到本地指定的文件夹(默认会缓存到/var/cache/yum/...下面,但是目录有些繁琐,而且容易和别的安装混淆,另外还需要配置yum.cfg)
 
但是即使这样,yum并不能把所有的依赖下载下来,其中关于java的很多依赖还是需要手动去下载,使得手动下载,这里推荐一个好的网站吧(不要依赖包下到手抖,但是过程总是要走一遍):
http://pkgs.org
 
然后是Mesos的编译,也是需要在那台上网机器进行,因为Mesos的编译需要用到maven库,需要下载一些支持包,编译时间老长了(这个只是make,还不包括make chekc 和make install不要等到花儿都谢了,喝点茶,给女友媳妇煲个电话粥吧)
这里强调一下,你的编译路径非常重要,你的部署路径必须和编译路径是一致的的(我指的是一次编译到处运行,到处,指的是操作系统一致的情况);否则未来你在执行mesos-XX.sh的时候将会报错。
 
不要make check了,然后将yum下载的依赖包以及编译的包(最好压缩个包,很大的)统统的以着某种方式(U盘?)拷贝到你的离线安装的环境,然后通过
yum local install *
进行安装,安装过程你会发现一些依赖需要下载,参看上面提到的网址;
依赖安装完成后,就是将编译的结果进行安装,尽管官网上面写的是make install是(optional),但是其实是必须有的,否则后面使用Marathon的提交任务时候会报错,/usr/local下面找不到什么.so文件云云。所以,还是需要:
make install
这个过程会有很长一段时间报错:No matching distribution found for protobuf<4,>=2.6.1 (from mesos.interface==1.3.1->mesos.executor==1.3.1->mesos.native==1.3.1)
Processing ./mesos.scheduler-1.3.1-cp27-none-linux_x86_64.whl
Collecting mesos.interface==1.3.1 (from mesos.scheduler==1.3.1)
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/mesos.interface/
不要理会他,让他翻滚,页面刷一会就好了。
 
然后是安装Marathon,按照官网来,貌似一切顺利,但是在启动的时候,发现报错,提示环境变量要指定ESOS_NATIVE_JAVA_LIBRARY,这个东西就是告诉Marathon到哪里去找libmesos.so文件;不要尝试在export的方式来指定,而是在指令前面指定(这种方式有点奇葩):
MESOS_NATIVE_JAVA_LIBRARY=/home/bd/mesos-1.3.1/build/src/.libs/libmesos.so ./bin/start --master local --zk zk://localhost:2181/marathon
尽管make install理论上是不需要指定MESOS_NATIVE_JAVA_LIBRARY,但是实际上如果不指定,就会报错:
Scheduler driver bound to loopback interface! Cannot communicate with remote master(s). You might want to set 'LIBPROCESS_IP' environment variable to use a routable IP address.
基本上不需要尝试在前面指定LIBPROCESS_IP,我尝试过了,没用;但是添加上了MESOS_NATIVE_JAVA_LIBRARY则是可以的。
参考网站:
 
策略2:
安装repo索引文件;
 
下载mesos和marathon的下载包
yum install/update --downloadonly --downloaddir=/opt/XXX mesos marathon
 
但是,明显下载的包不够,需要参看官网上面所需要的那些依赖,但是不需要编译mesos,这个至少可以节省5个小时的摸索时间,marathon也是无缝和mesos合作。
 
验证mesos安装,本机IP:5050
验证marathon安装,本IP:8080
参考网站:

Mesos以及Marathon安装总结的更多相关文章

  1. Mesos+Zookeeper+Marathon+Docker分布式集群管理最佳实践

    参考赵班长的unixhot以及马亮blog 笔者QQ:572891887 Linux架构交流群:471443208 1.1Mesos简介 Mesos是Apache下的开源分布式资源管理框架,它被称为分 ...

  2. Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)

    随着"互联网+"时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及 ...

  3. docker集群——搭建Mesos+Zookeeper+Marathon的Docker管理平台

    服务器架构 机器信息: 这里部属的机器为3个Master控制节点,3个slave运行节点,其中: zookeeper.Mesos-master.marathon运行在Master端:Mesos-sla ...

  4. Mesos+Zookeeper+Marathon+Docker环境搭建

    相关理论请参考:https://www.cnblogs.com/Bourbon-tian/p/7155054.html,本文基于https://www.cnblogs.com/Bourbon-tian ...

  5. Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)- 负载均衡marathon-lb

    之前介绍了Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)的操作,多余的废话不说了,下面接着说下在该集群环境下的负载均衡marathon-lb的部署过程: 默认情况 ...

  6. 2.centos7 安装Mesos和marathon

    master节点 节点名称 IP地址 master1 192.168.161.128 由于硬件资源有限,这里仅安装一个master节点,会存在单点问题.在实际生产中,尽量不要这样操作. 1.安装zoo ...

  7. 使用Mesos和Marathon管理Docker集群

    分布式系统是难于理解.设计.构建 和管理的,他们将比单个机器成倍还要多的变量引入到设计中,使应用程序的根源问题更难发现.SLA(服务水平协议)是衡量停机和/或性能下降的标准,大多数现代应用程序有一个期 ...

  8. docker集群——介绍Mesos+Zookeeper+Marathon的Docker管理平台

    容器为用户打开了一扇通往新世界的大门,真正进入这个容器的世界后,却发现新的生态系统如此庞大.在生产使用中,不论个人还是企业,都会提出更复杂的需求.这时,我们需要众多跨主机的容器协同工作,需要支持各种类 ...

  9. Mesos和Marathon

    libz is required for mesos to build 需要安装zlib-devel-1.2.7-17.el7.x86_64.rpm   其实跨Shell的Profile文件同步只要执 ...

随机推荐

  1. HTML5 2D平台游戏开发#3冲刺

    断断续续地把Demo又写了一阵,终于把角色的冲刺动作完成了.冲刺的作用是使角色能够快速移动,闪避攻击或障碍.其完成效果如下: 首先,仍需要一些变量来表示角色的冲刺状态: //标识角色是否处于冲刺中 v ...

  2. Kindeditor上传图片回显不出来

    原因之一: 图片成功上传但是回显不出来,这个时候,要检查返回的图片地址是否加了http://这个玩意,不然会将原来的头加上图片返回地址.

  3. linux SPI驱动——spi协议(一)

    一:SPI简介以及应用 SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在 ...

  4. Java Enum的使用

    最近为了便于对状态码的描述信息进行解析,学习了一下Enum的使用,发现还挺好使的. 首先,定义一个Enum的类Status,有两个属性statusValue状态码 以及 statusDesc状态描述 ...

  5. WCF: 以Json格式返回对象

    1.先建一个WCF Service 建一个ServiceContract接口 1 [ServiceContract] public interface IJsonWCFService { /// &l ...

  6. EasyPlayerPro windows播放器本地音频播放音量控制实现

    背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...

  7. 高复用率的RTSPClient组件EasyRTSPClient设计流程概述

    EasyRTSPClient 设计过程 概述 EasyRTSPClient 基于live555构建而成. 今天讲讲EasyRTSPClient的设计过程 EasyRTSPClient,主要包括以下部分 ...

  8. C#的默认访问权限(转)

    1.在namespace中的类.接口默认是internal类型的,也可以显示的定义为public类型,不允许是其他访问类型.2.在一个类里面,属性和方法默认是private的,可以显示的定义为publ ...

  9. python的接口类的思考?

    1.java怎么实现多继承的功效:https://www.cnblogs.com/Berryxiong/p/6142735.html 2.python的接口类和抽象类:https://www.cnbl ...

  10. cmake使用第三方库

    1 link_directories和target_link_libraries 1.1 link_directories 告诉linker去这些目录去找library. 1.2 target_lin ...