`
jiezhu2007
  • 浏览: 244394 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
Cfa1f850-3fc3-3a36-9cd8-c3415c9610c6
hadoop技术学习
浏览量:143515
Group-logo
大数据产业分析
浏览量:2970
社区版块
存档分类
最新评论

mesos集群安装

阅读更多

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个步骤。 

5Mesos配置

(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!



 

<!--EndFragment-->
  • 大小: 43.4 KB
  • 大小: 31.9 KB
0
0
分享到:
评论

相关推荐

    Mesos集群运维vagrant-mesos.zip

    vagrant-mesos 是一款运维工具,可以使 Mesos 集群的安装和运行更加容易。vagrant-mesos 支持 Mesos 0.21.0 集群,同时包括 Marathon (0.8.0) 和 Chronos (2.1.0)正在运行的框架服务器节点。这意味着,你可以使用 ...

    mesos集群在centos部署文档.pdf

    本篇文档将详细介绍如何在 CentOS 环境下搭建 Mesos 集群,包括 Docker 的安装、Zookeeper、Mesos、Marathon、HAProxy 和 Bamboo 的配置。 ### 一、环境准备 首先,确保你的 CentOS 系统是 6.6 版本,且拥有足够的...

    terraform-mesos, 在Google云上,编写Mesos集群的东西.zip

    terraform-mesos, 在Google云上,编写Mesos集群的东西 容器解决方案 Terraform Mesos如何在Google云上使用Terraform设置Mesos集群?安装 Terraform这里模块需要 Terraform 0.6.16或者更高版本按照 https://www.terra

    mesos集群在centos部署文档.doc

    mesos集群在centos部署文档.doc

    mesos-spark:在 mesos 集群上运行 spark 作业

    Mesos 的主 URL 格式为 mesos://host:5050(对于单主 Mesos 集群)或 mesos://zk://host:2181(对于使用 ZooKeeper 的多主 Mesos 集群)。 Spark 发行版 url 应指向您的 Spark 版本的 Spark 发行版。 您可以从 ...

    mesos-cluster-kvm:使用 Vagrant 和 KVM 设置多主 Mesos 集群

    mesos-cluster-kvm 使用 Vagrant 和 KVM 设置多主 Mesos 集群使用 kvm 支持安装 vagrant确保正确安装了 libvirt 和 qemu kvm 确保您的用户是 libvirtd 组的一部分(通过运行“virsh list”进行测试)创建集群 $ git ...

    ceph-mesos, 用于扩展Ceph集群的Mesos框架.zip

    ceph-mesos, 用于扩展Ceph集群的Mesos框架 在 Apache Mesos上的使用 Docker 来扩展Ceph集群的Mesos框架。 它旨在成为一个快速而可靠的解决方案。目前,它只能:启动 1,3 osd,1 radosgw 。 基于的接受 RESTful ...

    mesos_use:mesos集群的搭建文档

    mesos_use Mesos Mesos是Apache下的开源分布式资源...本篇是mesos集群的搭建,以及微服务部署方案 了解更多: https://legacy.gitbook.com/book/mesos-cn/mesos-cn/details http://mesos.mydoc.io/ 更多的帮助信息:

    开源项目-vektorlab-mesos-cli.zip

    Mesos CLI由vektorlab开发,旨在提供更加丰富和便捷的交互方式,使用户可以更轻松地操作和管理Mesos集群。 首先,我们要理解Apache Mesos的基本概念。Mesos分为三个主要组件:Master、Agent和框架。Master节点负责...

    PyPI 官网下载 | nagios-mesos-0.2.5.tar.gz

    安装和使用此库时,开发者通常会解压这个文件,然后通过Python环境进行安装,这可能涉及到设置环境变量、配置Nagios服务器以及与Mesos集群的对接。具体步骤包括编译源代码、安装依赖项,以及在Nagios配置中添加相应...

    archive-mesos-coreos-cluster-example:CoreOS 上的多主机 mesos 集群

    "archive-mesos-coreos-cluster-example" 这个标题表明这是一个关于在CoreOS操作系统上构建多主机Mesos集群的示例。Mesos是Apache软件基金会的一个开源项目,它是一个分布式系统内核,用于管理和调度计算资源。...

    mesos-xargs:轻松使用Xargs在Mesos集群上执行命令!

    mesos-xargs 有一个Mesos集群,您只想在上面运行东西吗? 曾经希望您可以只使用xargs吗? 不? 好的。 您是个理智的人,应该像普通人一样使用Hadoop。安装Mesos python绑定有点混乱。 主mesos绑定需要与主Mesos...

    mesos-scaler-ec2:MesosCon 2015 Hackathon项目可根据集群负载自动缩放AWS Mesos集群大小

    这个项目的核心目标是根据Mesos集群的实际工作负载动态调整AWS EC2实例的数量,以实现资源的最优分配和成本效率。 **Apache Mesos:分布式系统的基础** Apache Mesos 是一个开源的分布式系统内核,它能够高效地...

    ansible-mesos-cluster:Ansible剧本,用于构建多节点Apache Mesos集群

    ansible-mesos群集Ansible剧本,用于构建多节点Apache Mesos集群。集群配置在运行剧本之前,您需要在group_vars/all修改变量。 mesos_pkg_version是由mesos_pkg_version发布的Debian软件包。 marathon_pkg_version是...

    Mesos实战 中文+英文

    本书会详细讲解Mesos的安装与配置,包括单节点和多节点集群的设置。此外,书中还会涉及Mesos的API使用,如何编写自己的Mesos框架,以及如何利用现有的框架如Marathon进行服务部署和管理。Marathon是一个持久化框架,...

    hadoop:Mesos上的Hadoop

    先决条件要使用指标功能(使用库),您需要安装libsnappy 。 libsnappyjava 软件包还包括libsnappyjava的捆绑版本。建造您可以使用Maven构建hadoop-mesos-0.1.0.jar : mvn package 如果成功,则JAR将位于target/...

    mesos系列文章

    这一系列文章可能涵盖了Mesos的基本概念、架构、核心功能以及如何在实际场景中部署和管理Mesos集群。 【描述】:虽然描述部分为空,但根据“博文链接:https://jxauwxj.iteye.com/blog/2264433”,我们可以推断这...

    ansible-mesos-playbook:用于启动具有 docker 和 marathon 支持的 mesos 集群的 ansible playbook

    ansible-mesos-剧本一个 ansible playbook,用于启动带有本地 docker 和 mesos 执行器的 mesos 集群,以及 )、 和 HAProxy 支持。 在 Ubuntu 14.04 LTS(首选)或 Centos/RHEL 6 上运行它。 以获得描述性概述。入门...

    docker-mesos-spark-shell:用于在Mesos集群上创建Spark Shell的Docker映像

    Mesos Spark Shell 用于在Mesos集群上创建Spark 1.4.1 shell的docker镜像。 目前,通过.deb安装程序支持Mesos 0.23.0。跑步要查看如何运行Docker映像,请查看run_spark_shell.sh文件。 基本上,您只需要用Mesos ...

    mesos+zk本地部署文档.docx

    mesos集群+zk集群本地部署方案,有助于了解mesos配置和zk配置。

Global site tag (gtag.js) - Google Analytics