注意事项: 编译过程如果有错误提示少什么库,则相应的安装库即可
在编译中出现 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)的更多相关文章

  1. Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

    PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...

  2. Mesos, Marathon, Docker 平台部署记录

    Mesos, Marathon, Docker 平台部署记录 所有组件部署基于Ubuntu 14.04 x64 主机 IP 角色 master 192.168.1.3 Mesos Master, Ma ...

  3. 腾讯开源项目phxpaxos的编译步骤

    #paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir ...

  4. NET Core:部署项目到Ubuntu Server

    NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...

  5. OpenSSL简单介绍及在Windows、Linux、Mac系统上的编译步骤

    OpenSSL介绍:OpenSSL是一个强大的安全套接字层password库,囊括基本的password算法.经常使用的密钥和证书封装管理功能及SSL协议.并提供丰富的应用程序供測试或其他目的使用. ...

  6. ASP.NET生成WORD文档,服务器部署注意事项

    网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个. ASP.NET生成WORD文档服务器部署注意事项 1.Asp ...

  7. Linux-编译器gcc/g++编译步骤

    gcc和g++现在是gnu中最主要和最流行的c&c++编译器.g++是c++的命令,以.cpp为主:对于c语言后缀名一般为.c,这时候命令换做gcc即可.编译器是根据gcc还是g++来确定是按 ...

  8. Android 源码编译 步骤

    添加资源后编译步骤 1:lunch 112:mmm frameworks/base/core/res/生成Install: out/target/product/hammerhead/system/f ...

  9. zlib库VS2015编译步骤

    [点击这里下载zlib1.2.8源码](http://zlib.net/zlib128.zip) [点击这里下载zlib1.2.8编译动态库](http://zlib.net/zlib128-dll. ...

随机推荐

  1. springdata整合mongodb一些方法包括or,and,regex等等《有待更新》

    这几天接触mongodb以及springdata,自己英语比较戳,所以整理这些方法花的时间多了点,不过也是我第一次在外国网站整理技术 不多说,直接上代码,这里只是给出一些操作方法而已,如果有需要源码的 ...

  2. 重学C语言 -- printf,scanf

     printf();    用来显示格式串的内容          注意: 参数不可以换行,否则会出一个警告.       格式串中占位符比表达式数量多     会显示一个无意义值 格式串中占位符比表 ...

  3. 使用phpize安装php模块

    1.下载包 2./usr/local/php/bin/phpize 3../configure --enable-soap  --with-php-config=/usr/local/php/bin/ ...

  4. jenkins 重新设置 管理员密码

    由于服务器瘫痪,修好之后经常不上,就把jenkins的管理密码忘掉了. 查阅了网上所有方案之后发现没有一个 能正确修改密码的,特此列出下列网上的方法 第一.设成无需密码验证的(网上有教程,不过并不能修 ...

  5. C语言自带的快速排序(qsort)函数使用方法

    感觉打快排太慢了,找到了c语言自带的函数.这函数用起来没c++的方便,不过也够了. 函数名称:qsort,在头文件:<stdlib.h>中 不多说,上代码: #include <st ...

  6. Hive 自定义函数(转)

    Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法 ...

  7. mysql将多张表COUNT的数据相加

    由于数据量过大,我们将根据用户id 将数据存储在不同的表中,根据用户id模10的余数作为表的后缀.有如下十张表:test_0, test_1, ... ,test_9现在需要根据某个条件查询统计数据我 ...

  8. git reflog 和git log :no branch git 提交方式

    git reflog 和git log的区别,外加git cherry-pick的一种用法 git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被 ...

  9. pair work-Elevator Schedule附加题

    [电梯调度算法的实现和测试] [附加题] 首先,我要感谢周敏轩同学和薛亚杰,吴渊渊小组.UI的编写是在两个小组成员的共同努力下完成的,希望在第二次结对编程中能够再一起对UI界面进行更新和完善.UI编写 ...

  10. javascript中部分不能使用call apply调用来重写的构造函数

      This tests if TypeError is thrown or not when we call a constructor as a normal function.       On ...