安装了将近一周的环境了,终于把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之Canvas绘图(一) ——基础篇

    HTML5火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把. 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是 ...

  2. andorid中发送短信页面以及邮件发送

    跳转到发送短信页面 Uri smsToUri = Uri.parse("smsto://10086"); Intent mIntent = new Intent( android. ...

  3. Android studio 混淆打包问题

    参考 : Android Studio代码混淆设置以及上传mapping文件 AndroidStudio 混淆打包 在app 目录下  proguard-rules.pro中加入 通用 混淆 #指定代 ...

  4. iphone开发之获取网卡的MAC地址和IP地址

    本文转载至 http://blog.csdn.net/arthurchenjs/article/details/6358489 这是获取网卡的硬件地址的代码,如果无法编译通过,记得把下面的这几个头文件 ...

  5. 如何进行Web服务的性能测试?

    随着浏览器功能的不断完善,用户量不断的攀升,涉及到web服务的功能在不断的增加,对于我们测试来说,我们不仅要保证服务端功能的正确性,也要验证服务端程序的性能是否符合要求.那么性能测试都要做些什么呢?我 ...

  6. Python 深入剖析SocketServer模块(一)(V2.7.11)

    一.简介(翻译)  通用socket server 类  该模块尽力从各种不同的方面定义server:  对于socket-based servers:  -- address family:     ...

  7. Vue知识随记

    数据绑定内支持JavaScript表达式:string字符串反转用.隔开 js: msg:'Hello ' html: {{ msg.split('').reverse().join('.') }} ...

  8. 小程序WePY入门(一)

    全局安装或更新WePY命令行工具 npm install wepy-cli -g 在开发目录中生成Demo开发项目 wepy new myproject 切换至项目目录 cd myproject 开启 ...

  9. mongo-connector导入数据到Es

    要求 基于mongo-connector同步数据,必须要求mongodb为复制集架构,原因是此插件是基于oplog操作记录进行数据同步的:而oplog可以说是Mongodb Replication的纽 ...

  10. JAVA中int与String类型的相互转换

    Java的int和String类型间互相转换,小功能但是经常用到,下面是几种实现的方法: 字符串类型String转换成整数int 1. int i = Integer.parseInt([String ...