简单配置Mesos-master和Mesos-slave

Apache Mesos是一个集群管理器,可跨分布式应用程序或框架提供有效的资源隔离和共享
它位于应用程序层和操作系统之间,可以更加轻松的在大规模环境中更有效的部署和管理应用程序,它可以再动态共享节点池上运行许多应用程序.

Apache Mesos的特点 是需要独立部署mesos-slave进程,依赖framework的功能,可以管理docker容器,但是成本相对较高,主要优势是稳定性有保障.

Apache Mesos 本质, 通过底层计算资源(物理机、虚拟机、云等)的CPU、内存、存储以及机器上的其他资源进行抽象,对抽象后的资源进行统一的管理调度,提供跨分布式应用或框架的资源隔离和共享,非常有效的提高了分布式应用

Apache Mesos工作原理

Apache Mesos采用了Master/Slave结构简化设计,将master做的尽可能轻量级,仅仅保存了各种计算机框架(framework)和mesos slave的状态信息,这些状态信息很容易再mesos出现故障时候被重构.除此之外,mesos还可以使用Zookeeper来解决单点故障问题

Apache Mesos充当全局资源调度器角色,采用各种算法策略,将某个slave上的空闲资源分配给某个framework,而各种framework则是通过自己的调度器向master注册进行连接, mesos - slave则是手机任务状态和启动各个framework的executor,工作原理如图:

在这里插入图片描述

技术术语解释:

  • Mesos master:负责管理各个framework和slave,并将slave上的资源分配给各个framework
  • Mesos slave:负责管理本节点上的各个Mesos Task,为各个Executor分配资源
  • Framework: 计算框架:,如Hadoop\Spark等,可以通过Mesos Schedule Driver接入Mesos
  • Executor:执行器,再Mesos Slave上安装,用于启动计算框架中的Task

Mesos功能

  • 使用ZooKeeper的容错复制主服务器
  • 可扩展到数千个节点
  • 使用Linux容器隔离任务
  • 多资源调度(内存和CPU感知)
  • 用于开发新并行应用程序的Java,Python和C ++ API
  • 用于查看群集状态的Web UI

环境准备

  • 操作系统:CentOS-7-x86_64
  • 内核版本:3.10.0-693.el7.x86_64
    关闭虚拟机防火墙

setenforce 0
systemctl stop firewalld.service

  • 虚拟机分配:
主机名IP地址安装软件
master172.16.10.23jdk-8u144-linux-x64.tar.gz\ mesos-0.25.0.tar.gz
slave172.16.10.43jdk-8u144-linux-x64.tar.gz \ mesos-0.25.0.tar.gz

安装Apache Mesos

1. 配置Java环境

解压、归档软件包

tar zxf jdk-8u144-linux-x64.tar.gz
mv jdk1.8.0_144 /usr/local/java

配置环境变量

vim /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
source /etc/profile    //刷新使环境变量生效
2. 安装相关环境

安装开发工具

yum -y groupinstall "Development Tools"

添加apache-maven源

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

安装依赖包

yum -y install apache-maven \
-- python-devel \
-- zlib-devel \
-- libcurl-devel \
-- openssl-devel \
-- cyrus-sasl-devel \
-- cyrus-sasl-md5 \
-- apr-devel \
-- apr-util-devel \
-- subversion-devel \
-- cyrus-sasl

配置WANdiscoSVN网络源

vim /etc/yum.repo.d/wandisco-svn.repo

[WANdiscoSVN]
name=WANdisco SVN Repo 1.9
enabled=1
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco

配置Mesos环境变量

vim /etc/profile
export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so
export MESOS_NATIVE_LIBRARY=/usr/local/lib/libmesos.so
source /etc/profile    //刷新使环境变量立即生效
3. 构建mesos
tar zxvf mesos-0.25.0.tar.gz -C /root           //解压软件包
cd /root/mesos-0.25.0
mkdir build                                     //构建配置
cd build
../configure
make                                            //编译
make check                                      //运行测试集
make install                                    //安装

因为在安装apache mesos时耗时一个多小时,在配置群集时都需要安装此软件,所以建议采用克隆的方式减少用时。

配置单台Mesos-master与Mesos-slave

1-1 配置Mesos-master

Mesos-master负责维护slave集群的心跳,从slave提取资源信息。本地实验没有做dns解析,所以在这里修改hosts文件。

hostnamectl set-hostname master            //设置完成之后需重启,使修改生效
vim /etc/hosts
172.16.10.23 master
172.16.10.43 slave
ln -sf /root/mesos-0.25.0/build/bin/mesos-master.sh /usr/sbin/mesos-master
1-2 简配启动Mesos-master
mesos-master --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --no-hostname_lookup --ip=0.0.0.0

参数释义:

--work_dir:运行期数据存放路径
--log_dir:Mesos日志存放路径
--[no-]hostname_lookup:是否从DNS获取主机名,本次关闭次配置,直接显示IP
--ip:Mesos进程绑定的IP
浏览器访问管理页面
http://192.168.175.145:5050/

浏览器访问管理页面
在这里插入图片描述

2-1 配置Mesos-slave

Mesos-slave负责接收并执行来自动Mesos-master传递的任务以及监控任务状态,收集任务使用系统的情况,配置之前仍修改主机名和hosts文件

hostnamectl set-hostname slave

vim /etc/hosts
172.16.10.23 master
172.16.10.43 slave
ln -sf /root/mesos-0.25.0/build/bin/mesos-slave.sh /usr/sbin/mesos-slave
2-2 在Mesos-slave安装并启动docker容器

yum install docker -y
systemctl start docker.service
systemctl enable docker.service

2-3 简配启动Mesos-slave
mesos-slave --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=172.16.10.23:5050 --no-hostname_lookup --ip=0.0.0.0

再次访问网页
再次对master的5050端口进行验证,查看slave的状态
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值