Mesos编译步骤及部署注意事项(Ubuntu)
注意事项: 编译过程如果有错误提示少什么库,则相应的安装库即可
在编译中出现 g++: internal compiler error: Killed (program cc1plus)的错误是因为内存不足,我在虚拟机中编译的,所以把内存提升到3G,
然后在make的时候-j 1即可,或者不用-j参数
1. 下载源码
$ wget http://www.apache.org/dist/mesos/0.28.2/mesos-0.28.2.tar.gz
$ tar -zxvf mesos-0.28.2.tar.gz
2. 准备编译环境
# Update the packages.
$ sudo apt-get update
# Install a few utility tools.
$ sudo apt-get install -y tar wget git
# Install the latest OpenJDK.
$ sudo apt-get install -y openjdk-7-jdk
或者直接下载jdk,然后指定JAVA_HOME和PATH
# Install autotools (Only necessary if building from git repository).
$ sudo apt-get install -y autoconf libtool
# Install other Mesos dependencies.
$ sudo apt-get -y install build-essential python-dev libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev
3. 编译
# Change working directory.
$ cd mesos
# Bootstrap (Only required if building from git repository).
$ ./bootstrap
# Configure and build.
$ mkdir build
$ cd build
$ ../configure --prefix=/home/xxx/mesos
$ make V=0
# Run test suite.
$ make check
# Install (Optional).
$ make install
更全面的内容参考 http://mesos.apache.org/gettingstarted/
mesos集群部署
我这里准备了两台机器,分别为node1,node2,在node1上启动master和slave,node2上启动slave
1. /etc/hosts里必须将node1,node2与ip地址对应起来,node1与node2上都需要修改/etc/hosts
2. 在mesos的安装目录,比如我这里的/home/xxx/mesos,进入etc/mesos目录,分别配置mesos-master-env和mesos-agent-env,我的配置文件如下:
mesos-master-env.sh on node1
export MESOS_log_dir=/home/xxx/mesos/log
export MESOS_work_dir=/home/xxx/mesos/work_dir //必须项
mesos-agent-env.sh on node1,node2
export MESOS_master=node1:5050 //必须项
export MESOS_log_dir=/home/xxx/mesos/log
export MESOS_work_dir=/home/xxx/mesos/work_dir //必须项
export MESOS_resources='cpus:2;mem:2048' // mesos默认会将系统内存分出1g(50%)来支持mesos本身的运行,考虑我虚拟机内存不足,于是手动设置内存
如果想单独启动master和各个机器上的slave,这样的配置就可以了
启动master : sbin/mesos-daemon mesos-master
启动slave : sbin/mesos-daemon mesos-agent
但是这样比较麻烦,另外一种方式是直接在node1上启动所有的master和slave
首先需要配置ssh,保证node1,node2之间ssh访问不需要密码
然后在/etc/mesos目录下创建 masters和slaves文件
masters文件里存放master节点的机器名,我这里是node1
slaves文件里存放的是slave节点的机器名,我这里是node1 node2,一个节点一行
启动masters : /sbin/mesos-start-masters.sh
启动agents: /sbin/mesos-start-slaves.sh
默认masters和agents的启动log都被直接隐藏了,如果想查看失败原因,可以找到mesos-start-slaves.sh和mesos-daemon.sh,注释掉 <dev/null >dev/null 2>&1 即可,这样就会输出log到屏幕了
注意:有时候在关掉agent之后重新启动会发现agent没有启动,是因为提交agent的时候,master认为该agent刚被移除,于是拒绝接受,在重新启动一次agent即可
Mesos编译步骤及部署注意事项(Ubuntu)的更多相关文章
- Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项
PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...
- Mesos, Marathon, Docker 平台部署记录
Mesos, Marathon, Docker 平台部署记录 所有组件部署基于Ubuntu 14.04 x64 主机 IP 角色 master 192.168.1.3 Mesos Master, Ma ...
- 腾讯开源项目phxpaxos的编译步骤
#paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir ...
- NET Core:部署项目到Ubuntu Server
NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...
- OpenSSL简单介绍及在Windows、Linux、Mac系统上的编译步骤
OpenSSL介绍:OpenSSL是一个强大的安全套接字层password库,囊括基本的password算法.经常使用的密钥和证书封装管理功能及SSL协议.并提供丰富的应用程序供測试或其他目的使用. ...
- ASP.NET生成WORD文档,服务器部署注意事项
网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...
- Linux-编译器gcc/g++编译步骤
gcc和g++现在是gnu中最主要和最流行的c&c++编译器.g++是c++的命令,以.cpp为主:对于c语言后缀名一般为.c,这时候命令换做gcc即可.编译器是根据gcc还是g++来确定是按 ...
- Android 源码编译 步骤
添加资源后编译步骤 1:lunch 112:mmm frameworks/base/core/res/生成Install: out/target/product/hammerhead/system/f ...
- zlib库VS2015编译步骤
[点击这里下载zlib1.2.8源码](http://zlib.net/zlib128.zip) [点击这里下载zlib1.2.8编译动态库](http://zlib.net/zlib128-dll. ...
随机推荐
- c#让窗体永在最前 调用windows api 将窗体设为topmost
有时候应用程序需要将一个窗体始终位于屏幕的最前面,即使切换到其它窗体也能看到该窗体,这样的窗体就叫做TopMost窗体. 用C#制作TopMost窗体之前,首先要了解如何声明SetWindowPos函 ...
- poj 2135 Farm Tour 最小费用最大流建图跑最短路
题目链接 题意:无向图有N(N <= 1000)个节点,M(M <= 10000)条边:从节点1走到节点N再从N走回来,图中不能走同一条边,且图中可能出现重边,问最短距离之和为多少? 思路 ...
- java枚举类型enum的使用
2015-10-24 java达人 Java 中 的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大家先打开jdk 中的E ...
- custom event in javascript and jquery
javascript: // add a eventListener document.addEventListener("abc", function(){alert('this ...
- 我的PHP之旅--SQL语句
SQL语句 结构化查询语言(Structured Query Language)简称SQL,是一种操作数据的语言. 增加记录 INSERT INTO table_name(字段1, 字段2, 字段3) ...
- 简单的php表单
表单的三种传递机制: $_GET:不安全,传递的参数会显示在url中. $_POST:相对安全,隐形传递. $_REQUEST:宽松的,包含所有 GET.POST.COOKIE 和 FILE 的数据. ...
- 获取PDF页数
下载pdfbox这个包,这俩个方法都可以: PDDocument doc = PDDocument.load("e://aa.pdf"); System.out.println(d ...
- 2014年50个程序员最适用的免费JQuery插件
有用的jQuery库是设计师和开发者之间一个非常熟悉的短语.这是现在互联网中最流行的JavaScript函数库之一.每个设计师和开发人员都应该知道它的重要性,而且熟悉它的功能和特点. jQuery几乎 ...
- 对C语言中sizeof细节的三点分析
转自对C语言中sizeof细节的三点分析 1.sizeof是运算符,跟加减乘除的性质其实是一样的,在编译的时候进行执行,而不是在运行时才执行. 那么如果编程中验证这一点呢?ps:这是前两天朋友淘宝面试 ...
- URAL 1119. Metro(BFS)
点我看题目 题意 : 这个人在左下角,地铁在右上角,由很多格子组成的地图,每一条边都是一条路,每一条边都是100米.还有的可以走对角线,问你从起点到终点最短是多少. 思路 : 其实我想说一下,,,, ...