docker-mesos 源码安装

上传人:豆浆 文档编号:24901347 上传时间:2017-12-08 格式:PDF 页数:5 大小:452.06KB
返回 下载 相关 举报
docker-mesos 源码安装_第1页
第1页 / 共5页
docker-mesos 源码安装_第2页
第2页 / 共5页
docker-mesos 源码安装_第3页
第3页 / 共5页
docker-mesos 源码安装_第4页
第4页 / 共5页
docker-mesos 源码安装_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《docker-mesos 源码安装》由会员分享,可在线阅读,更多相关《docker-mesos 源码安装(5页珍藏版)》请在金锄头文库上搜索。

1、1.初识初识Mesos1.1Mesos 架构简介架构简介Mesos实现了两级调度架构,它可以管理多种类型的应用程序。第一级调度是Master的守护进程,管理Mesos集群中所有节点上运行的Slave守护进程。集群由物理服务器或虚拟服务器组成,用于运行应用程序的任务,比如Hadoop和MPI作业。第二级调度由被称作Framework的“组件”组成。Framework包括调度器(Scheduler)和执行器(Executor)进程,其中每个节点上都会运行执行器。Mesos能和不同类型的Framework通信,每种Framework由相应的应用集群管理。上图中只展示了Hadoop和MPI两种类型,其

2、它类型的应用程序也有相应的Framework。1.2 Mesos 工作流工作流Mesos Master协调全部的Slave,并确定每个节点的可用资源, 聚合计算跨节点的所有可用资源的报告,然后向注册到Master的Framework(作为Master的客户端)发出资源邀约。Framework可以根据应用程序的需求,选择接受或拒绝来自master的资源邀约。一旦接受邀约,Master即协调Framework和Slave,调度参与节点上任务,并在容器中执行,以使多种类型的任务,比如Hadoop和Cassandra,可以在同一个节点上同时运行。Slave 1向Master汇报其空闲资源:4个CPU、

3、4GB内存。然后,Master触发分配策略模块,得到的反馈是Framework 1要请求全部可用资源。Master向Framework 1发送资源邀约,描述了Slave 1上的可用资源。Framework的调度器(Scheduler)响应Master,需要在Slave上运行两个任务,第一个任务分配资源,第二个任务分配资源。最后,Master向Slave下发任务,分配适当的资源给Framework的任务执行器(Executor),接下来由执行器启动这两个任务(如图中虚线框所示)。 此时,还有1个CPU和1GB的RAM尚未分配,因此分配模块可以将这些资源供给Framework 2。问题来了:如何在

4、Mesos不知道应用框架存在特殊限制条件的前提下满足其限制条件?比如,在Mesos不知道哪个节点存储着应用所需要的数据时,应用框架如何满足数据处理的本地化要求?Mesos的处理方式是让应用直接拒绝(reject)资源邀约。应用会拒绝不满足其限制条件的资源邀约,而只接受满足条件的资源。特别指出的是,我们发现了一种简单的策略,称之为延迟调度(delay scheduling)机制,即应用可以等待一定的时间,来获得存储需要数据的相应节点,从而获得近似优化过的数据本地处理结果。1.3 Frameworks On Mesos蓝色: 支持运行 Long-Running 的应用,我们就是基于这些工具来搭建

5、PaaS 平台的绿色:大数据处理的工具,这些工具是搭建大数据平台的基础紫色:批处理工具,利用批处理工具可以搭建一个基本的持续集成平台,尤其是 Jenkins红色:大数据存储的工具,其中 Cassandra 是无中心分布式存储的, Es 是一个基于Apache Lucene的开源搜索引擎 除此之外,比较常见的工具还有Singularity: 同时支持运行 Long-Running 应用与批处理 Job2.入门教程入门教程下载下载Mesos有两种方法:1.从 Apache官方网站下载 (推荐)$ wget http:/www.apache.org/dist/mesos/0.24.0/mesos-0

6、.24.0.tar.gz $ tar -zxf mesos-0.24.0.tar.gz2.克隆Mesos的 git 代码仓库 repository (适用于高级用户)$ git clone https:/git-wip-us.apache.org/repos/asf/mesos.git系统要求系统要求Mesos 可运行在 Linux (64 Bit) 和 Mac OS X (64 Bit)上。CentOS 6.6# 安装基础工具$ sudo yum install -y tar wget which# Mesos 0.21.0 需要 完整支持 C+11 的编译器, (比如 GCC 4.8)的工

7、具中 有devtoolset-2可用。# 下载 Scientific Linux CERN devtoolset 仓库文件。$ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http:/linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo# 导入CERN GPG 密钥$ sudo rpm -import http:/linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern# 下载 Apache Maven 仓库文件$ sud

8、o wget http:/repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo# Mesos 0.21.0 需要 subversion 1.8 开发包# 不过这版本没在默认仓库里,需要手动添加。# 在文件/etc/yum.repos.d/wandisco-svn.repo中添加如下内容:WANdiscoSVN name=WANdisco SVN Repo 1.8enabled=1 baseurl=http:/ gpgkey

9、=http:/ 安装相应开发工具$ sudo yum groupinstall -y Development Tools# 安装 devtoolset-2-toolchain,内有 GCC 4.8.2 和相关工具$ sudo yum install -y devtoolset-2-toolchain# 安装 Mesos 依赖$ sudo yum install -y apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sa

10、sl-md5 apr-devel subversion-devel apr-util-devel# 在终端中,开启devtoolset-2$ scl enable devtoolset-2 bash$ g+ -version # 注意:一定要 GCC 4.8!CentOS 7.1# 安装基础工具$ sudo yum install -y tar wget# 下载 Apache Maven 仓库文件$ sudo wget http:/repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum

11、.repos.d/epel-apache-maven.repo# Mesos 0.21.0 需要 subversion 1.8 开发包# 不过这版本没在默认仓库里,需要手动添加。# 在文件/etc/yum.repos.d/wandisco-svn.repo中添加如下内容:WANdiscoSVN name=WANdisco SVN Repo 1.9enabled=1 baseurl=http:/ gpgkey=http:/ 安装相应开发工具$ sudo yum groupinstall -y Development Tools# 安装 Mesos 依赖$ sudo yum install -y

12、apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel编译编译Mesos# 切换到源码目录$ cd mesos# 自检 (只在从 git 编译时需要)$ ./bootstrap# 配置并编译$ mkdir build$ cd build$ ./configure$ make编译可能遇到的问题:编译可能遇到的问题:1./usr/

13、java/jdk1.8.0_112/bin/javah -d java/jni -classpath java/target/mesos-1.0.1.jar:/opt/mesos-1.0.1/build/src/java/target/protobuf-java-2.6.1.jar org.apache.mesos.MesosExecutorDriverError: Class com.google.protobuf.GeneratedMessage could not be found.解决办法: ln -s /root/.m2/repository/com/google/protobuf/

14、protobuf-java/2.6.1/protobuf-java-2.6.1.jar /opt/mesos-1.0.1/bulid/src/java/target/2.JAVA_HOME 不对的事宜解决办法:a. 确保JAVA使用的是SUN 的JDKb. export JAVA_HOME=xxx;export PATH=$JAVA_HOME/bin:$PATH一定要加一定要加可设置 -j V=0来加快编译进度,减少日志输出# 运行测试$ make check# 安装$ make install安装是否成功验证示例安装是否成功验证示例Mesos 自带 C+, Java 和 Python 框架实

15、例 # 切换到源码目录 $ cd build# 启动 mesos 主控端(请确保 目录存在,且权限合适)$ ./bin/mesos-master.sh -ip=127.0.0.1 -work_dir=/var/lib/mesos# 启动 被控$ ./bin/mesos-slave.sh -master=127.0.0.1:5050# 访问 mesos页面$ http:/127.0.0.1:5050# 运行 C+ 框架 (运行任务成功后会退出)$ ./src/test-framework -master=127.0.0.1:5050# 运行Java 框架 (运行任务成功后会退出) $ ./src/examples/java/test-framework 127.0.0.1:5050# 运行 Python 框架 (运行任务成功后会退出)$ ./src/examples/python/test-framework 127.0.0.1:5050

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号