1、说明
Mesos是一个集群资源管理的软件,利用它可以实现多种并行计算框架对于同一个集群资源的共享和利用。从而提高资源的使用效率,节约成本!本文是参考网上一位兄弟的安装,结合自己的环境,整理的安装指导:
2、软件准备
环境:
有三台机器IP地址分别为:
75,76,79
Mesos版本
mesos-0.17.0.tar.gz
三台机器系统版本:
Red Hat Enterprise Linux Server release 6.2 (Santiago)
挂载安装光盘
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
配置yum为本地源
直接编辑/etc/yum.conf文件,增加下面的配置
[Server]
name=Yum Source
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
所需依赖软件版本:
1、Python2.6及其以上版本均可
2、jdk1.6以上的版本
拷贝一个jdk安装包到本地
新建一个文件vi /etc/profile.d/java.sh
JAVA_HOME=/usr/java/jdk
PATH=$PATH:/$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib
JRE_HOME=$JAVA_HOME/jre
export JAVA_HOME PATH CLASSPATH JRE_HOME
3、ant
4、g++ 4.1或更高版本
rpm -ivh kernel-headers-2.6.32-220.el6.x86_64.rpm
rpm -ivh glibc-headers-2.12-1.47.el6.x86_64.rpm
rpm -ivh glibc-devel-2.12-1.47.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh cpp-4.4.6-3.el6.x86_64.rpm
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh gcc-4.4.6-3.el6.x86_64.rpm
rpm -ivh pcre-devel-7.8-3.1.el6.x86_64.rpm
rpm -ivh libxml2-devel-2.7.6-4.el6.x86_64.rpm
rpm -ivh bison-2.4.1-5.el6.x86_64.rpm
rpm -ivh libstdc++-4.4.6-3.el6.x86_64.rpm
rpm -ivh libstdc++-devel-4.4.6-3.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.6-3.el6.x86_64.rpm
5、安装libtool
rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm
rpm -ivh automake-1.11.1-1.2.el6.noarch.rpm
rpm -ivh libtool-2.2.6-15.5.el6.x86_64.rpm
6、安装python支持文件
rpm -ivh python-devel-2.6.6-29.el6.x86_64.rpm
7、安装libcurl
rpm -ivh libidn-devel-1.18-2.el6.x86_64.rpm
rpm -ivh libcurl-devel-7.19.7-26.el6_1.2.x86_64.rpm
8、安装sasl
rpm -ivh cyrus-sasl-devel-2.1.23-13.el6.x86_64.rpm
9、zlib
rpm -ivh zlib-devel-1.2.3-27.el6.x86_64.rpm
10、安装Python2.6或以上版本(有的话忽略此步骤)
[root@Arion3 ~]# tar jxf Python-2.6.tar.bz2
[root@Arion3 ~]# cd Python-2.6
[root@Arion3 Python-2.6]# ./configure --enable-shared --prefix=/usr/local/python2.6
../configure --with-webui --with-included-zookeeper
[root@Arion3 Python-2.6]# make
[root@Arion3 Python-2.6]# make install
[root@Arion3 ~]# cd /usr/bin/
[root@Arion3 ~]# mv pyhton python2.4
[root@Arion3 ~]# ln -sf /usr/local/python2.6/bin/python /usr/bin/python
[root@Arion3 ~]# vi /usr/bin/yum
将其中#!/usr/bin/python改为!/usr/bin/python2.4
[root@Arion3 ~]# vi /etc/ld.so.conf
在其中追加python2.6的库路径:/usr/local/python2.6/lib/
[root@Arion3 ~]# ldconfig
安装的时候注意,因为yum是用Python2.4版本写的,所以一般系统中会带有Python2.4,我们在安装Python2.6时候,不能将原来的版本卸载,否则会导致yum不能使用。
3、主机配置
下面开始安装步骤:
1、集群中的三台机器有如下对应关系:
193.168.1.75 master
193.168.1.76 slave1
193.168.1.79 slave2
2、分别修改三台机器的/etc/hosts文件,在其中追加以上内容,修改后hosts文件的内容如下:
# Do not remove the following line, or various programs
# that require network functionality will fail.
10.10.42.3 Arion3 localhost.localdomain localhost//注意这里,一定要将开头的127.0.0.1换成机器本身的IP地址否则当你安装完毕,启动的时候会报HTTP通信异常!!这里一定要注意!!!
#::1 localhost6.localdomain6 localhost6
#10.10.42.2 newcloud.guoshi.com
#mesos
192.168.1.75 host75 host75
192.168.1.75 master
192.168.1.76 slave1
192.168.1.79 slave2
3、配置ssh,以确保Master可以无密码登录到slave1和slave2两台机器上!配置过程比较的简单,以root用户为例来说明,其他用户也是一样的。
在master节点上执行命令ssh-keygen -t rsa,在/root/.ssh中生成/root/.ssh/id_rsa.pub。
执行cat id_rsa.pub>> authorized_keys
将master上的id_rsa.pub这个文件拷贝到slaves上,再slaves上重复执行cat id_rsa.pub>> authorized_keys
4、编译安装
(1)从镜像网站下载Mesos 0.9.0-incubating,得到压缩文件mesos-0.9.0-incubating.tar.gz。
(2) 将压缩文件拷贝到master结点的某个目录中,使用如下命令解压文件, 得到文件夹mesos-0.9.0,进入该文件。
[root@Arion3 ~]# tar zxf mesos-0.9.0-incubating.tar.gz
(3)进入文件夹mesos-0.9.0后,使用configure脚本配置mesos。
find / -type d -name python2.6
../configure --with-webui --with-included-zookeeper --prefix=/usr/local/mesos
如果没有指定prefix,默认安装在/usr/local
(4)make
make check (执行测试用例)
(5)make install
(6)分别在slave1和slave2两台机器上用相同的用户目录,重复上述5个步骤。
5、Mesos配置
(7)在master结点上做如下两个配置:
编辑文件/usr/local/var/mesos/deploy/masters(如果没有可以创建),在文件中列出主结点的主机名或者IP地址。
编辑文件 /usr/local/var/mesos/deploy/slaves(如果没有可以创建),在文件中列出从结点的主机名或者IP地址。
我的配置如下所示:
#masters文件的内容
master
#slaves文件的内容
slave1
slave2
slave3
编辑文件/usr/local/var/mesos/conf/mesos.conf(如果没有可以创建),配置主结点的日志文件目录。我的配置如下:
log_dir=/home/ mesos/log/
(8)在所有从结点上做如下配置。 编辑conf文件(如果没有可以创建),配置从结点的日志文件目录、主结点URI和从结点资源。从结点的资源可以根据每个结点的CPU和内存的空闲情况进行配置,以供mesos调度使用。其中cpus后面的数字代表CPU有几个核,而mem后面的数字代表分配多少空闲内存给mesos使用,单位是MB。
master=master:5050
log_dir=/home/ mesos/log
resources=cpus:8;mem:3200
内存单位是MB
(9)启动与停止mesos集群管理器。 如果配置正确无误,就可以进入目录 /usr/local/sbin/,使用如下命令启动集群管理器:
master节点上:
nohup ./mesos-master --ip=193.168.1.75 --whitelist="/usr/local/var/mesos/deploy/slaves" >/dev/null 2>&1 &
注:一定要将slaves加入到whitelist中。
slave节点上:
nohup ./mesos-slave --master=193.168.1.75:5050 >/dev/null 2>&1 &
(10) mesos启动后,可以通过Web界面来查看集群中的资源,以及集群中正在运行的框架和任务。具体的访问方式是通过浏览器访问master结点的8080接口,即http://master:5050/。如果mesos启动正常,可以在该web界面上看到整个集群的资源总和和每一个slave结点的资源。如果有框架正在运行,还可以看到框架的信息,以及正在执行的任务信息。
6、测试默认案例:
1、测试默认的framework
/opt/mesos-0.17.0/build/src
[root@host75 src]# ./test-framework --master=193.168.1.75:5050
I0326 16:32:22.872979 16936 sched.cpp:218] No credentials provided. Attempting to register without authentication
I0326 16:32:22.873389 16936 sched.cpp:230] Detecting new master
Registered!
相关推荐
vagrant-mesos 是一款运维工具,可以使 Mesos 集群的安装和运行更加容易。vagrant-mesos 支持 Mesos 0.21.0 集群,同时包括 Marathon (0.8.0) 和 Chronos (2.1.0)正在运行的框架服务器节点。这意味着,你可以使用 ...
本篇文档将详细介绍如何在 CentOS 环境下搭建 Mesos 集群,包括 Docker 的安装、Zookeeper、Mesos、Marathon、HAProxy 和 Bamboo 的配置。 ### 一、环境准备 首先,确保你的 CentOS 系统是 6.6 版本,且拥有足够的...
terraform-mesos, 在Google云上,编写Mesos集群的东西 容器解决方案 Terraform Mesos如何在Google云上使用Terraform设置Mesos集群?安装 Terraform这里模块需要 Terraform 0.6.16或者更高版本按照 https://www.terra
mesos集群在centos部署文档.doc
Mesos 的主 URL 格式为 mesos://host:5050(对于单主 Mesos 集群)或 mesos://zk://host:2181(对于使用 ZooKeeper 的多主 Mesos 集群)。 Spark 发行版 url 应指向您的 Spark 版本的 Spark 发行版。 您可以从 ...
Apache Aurora 允许您将 Apache Mesos 集群用作私有云。它支持运行长时间运行的服务、cron 作业和临时作业。
mesos-cluster-kvm 使用 Vagrant 和 KVM 设置多主 Mesos 集群使用 kvm 支持安装 vagrant确保正确安装了 libvirt 和 qemu kvm 确保您的用户是 libvirtd 组的一部分(通过运行“virsh list”进行测试)创建集群 $ git ...
ceph-mesos, 用于扩展Ceph集群的Mesos框架 在 Apache Mesos上的使用 Docker 来扩展Ceph集群的Mesos框架。 它旨在成为一个快速而可靠的解决方案。目前,它只能:启动 1,3 osd,1 radosgw 。 基于的接受 RESTful ...
mesos_use Mesos Mesos是Apache下的开源分布式资源...本篇是mesos集群的搭建,以及微服务部署方案 了解更多: https://legacy.gitbook.com/book/mesos-cn/mesos-cn/details http://mesos.mydoc.io/ 更多的帮助信息:
Mesos CLI由vektorlab开发,旨在提供更加丰富和便捷的交互方式,使用户可以更轻松地操作和管理Mesos集群。 首先,我们要理解Apache Mesos的基本概念。Mesos分为三个主要组件:Master、Agent和框架。Master节点负责...
安装和使用此库时,开发者通常会解压这个文件,然后通过Python环境进行安装,这可能涉及到设置环境变量、配置Nagios服务器以及与Mesos集群的对接。具体步骤包括编译源代码、安装依赖项,以及在Nagios配置中添加相应...
"archive-mesos-coreos-cluster-example" 这个标题表明这是一个关于在CoreOS操作系统上构建多主机Mesos集群的示例。Mesos是Apache软件基金会的一个开源项目,它是一个分布式系统内核,用于管理和调度计算资源。...
mesos-xargs 有一个Mesos集群,您只想在上面运行东西吗? 曾经希望您可以只使用xargs吗? 不? 好的。 您是个理智的人,应该像普通人一样使用Hadoop。安装Mesos python绑定有点混乱。 主mesos绑定需要与主Mesos...
这个项目的核心目标是根据Mesos集群的实际工作负载动态调整AWS EC2实例的数量,以实现资源的最优分配和成本效率。 **Apache Mesos:分布式系统的基础** Apache Mesos 是一个开源的分布式系统内核,它能够高效地...
ansible-mesos群集Ansible剧本,用于构建多节点Apache Mesos集群。集群配置在运行剧本之前,您需要在group_vars/all修改变量。 mesos_pkg_version是由mesos_pkg_version发布的Debian软件包。 marathon_pkg_version是...
本书会详细讲解Mesos的安装与配置,包括单节点和多节点集群的设置。此外,书中还会涉及Mesos的API使用,如何编写自己的Mesos框架,以及如何利用现有的框架如Marathon进行服务部署和管理。Marathon是一个持久化框架,...
先决条件要使用指标功能(使用库),您需要安装libsnappy 。 libsnappyjava 软件包还包括libsnappyjava的捆绑版本。建造您可以使用Maven构建hadoop-mesos-0.1.0.jar : mvn package 如果成功,则JAR将位于target/...
这一系列文章可能涵盖了Mesos的基本概念、架构、核心功能以及如何在实际场景中部署和管理Mesos集群。 【描述】:虽然描述部分为空,但根据“博文链接:https://jxauwxj.iteye.com/blog/2264433”,我们可以推断这...
ansible-mesos-剧本一个 ansible playbook,用于启动带有本地 docker 和 mesos 执行器的 mesos 集群,以及 )、 和 HAProxy 支持。 在 Ubuntu 14.04 LTS(首选)或 Centos/RHEL 6 上运行它。 以获得描述性概述。入门...
Mesos Spark Shell 用于在Mesos集群上创建Spark 1.4.1 shell的docker镜像。 目前,通过.deb安装程序支持Mesos 0.23.0。跑步要查看如何运行Docker映像,请查看run_spark_shell.sh文件。 基本上,您只需要用Mesos ...