参考资料:
官方文档:http://mesos.apache.org/documentation
中文翻译:http://mesos.mydoc.io/
GitHub:https://github.com/apache/mesos/tree/master
董的博客:http://dongxicheng.org/category/apache-mesos/
安装
下载mesos
参考:http://mesos.apache.org/documentation/latest/getting-started/
下载最新版本:mesos-1.0.0,版本要求:
- 64位linux操作系统
- 内核版本大于3.10 版本
- gcc版本大于4.8.1
安装依赖
- 安装wget/tar
- 获取maven的repo:
- wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
- 安装epel repo(安装SVN必须):
- yum install -y epel-release
-
添加SVN repo:
-
在/etc/yum.repos.d/wandisco-svn.repo文件里添加:
[WANdiscoSVN]
name=WANdisco SVN Repo 1.9
enabled=1
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS//
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
-
-
更新systemd:
- yum update systemd
-
安装development tools
- yum groupinstall -y "Development Tools"
-
安装mesos依赖
- sudo yum install -y apache-maven python-devel java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
编译
cd mesos
mkdir build
cd build
../configure
make(可以使用make -j N加快编译速度,不然编译时间非常长)
make check
make install
配置
默认make install会安装到/user/local/sbin底下,配置文件在/usr/local/etc底下,在这两个目录下,会有一些文件跟master/agent相关
mesos-master
- mesos-start-masters.sh:用于SSH登录到各个master并且进行start操作,如果单机执行,只需注释跟SSH相关操作(直接通过daemon mesos-master启动)
- mesos-stop-master.sh:用于SSH登录到各个master,并且进行stop操作,如果单机执行,只需注释SSH相关操作(直接执行killall mesos-master)
- mesos-daemon.sh:用于启动mesos daemon,默认会执行一些动作(设置ulimit -n以及启动对应的环境变量设置/usr/local/etc/PROCNAME-env.sh)
- mesos-agent实际的二进制文件,可以通过--help来查看对应参数,参数参考:http://mesos.apache.org/documentation/latest/configuration/
-
/usr/local/etc/mesos/mesos-master-env.sh:设置mesos环境变量,变量命名规则为MESOS_参数,其中{参数}为mesos-master --help中的参数,设置如下:
export MESOS_log_dir=/var/log/mesos/master # 设置日志目录 export MESOS_work_dir=/var/run/mesos/master # 设置work目录,会存放一些运行信息 export MESOS_ip=127.0.0.1 # 设置IP # export MESOS_port=5050 # 设置PORT,默认是5050 export MESOS_CLUSTER=mesos_test_cluster1 # 设置集群名称 export MESOS_hostname=127.0.0.1 # 设置master hostname export MESOS_logging_level=INFO # 设置日志级别 export MESOS_offer_timeout=60secs # 设置offer的超时时间 # export MESOS_agent_ping_timeout=15 # 设置ping 超时时间,默认15s # export MESOS_allocation_interval=1 # 设置资源 allocation间隔,默认1s
注意:offer_timeout非常关键,默认是不超时,如果一个offer发给scheduler后scheduler不做任何处理(acceptOffers或者declineOffer),那么这个offer一直会被这个scheduler给占用了,直到scheduler自己结束进程或者退出注册。所以offer_timeout一般要设置,用于防止由于scheduler自身的问题(偶发性hang住,或者程序问题没有处理offer)导致资源无法利用
mesos-agent
- mesos-start-agent.sh:用于SSH登录到各个agent并且进行start操作,如果单机执行,只需注释跟SSH相关操作(直接通过daemon mesos-agent启动)
- mesos-stop-agent.sh:用于SSH登录到各个agent,并且进行stop操作,如果单机执行,只需注释SSH相关操作(直接执行killall mesos-agent)
- mesos-daemon.sh:用于启动mesos daemon,默认会执行一些动作(设置ulimit -n以及启动对应的环境变量设置/usr/local/etc/PROCNAME-env.sh)
- mesos-agent实际的二进制文件,可以通过--help来查看对应参数,参数参考:http://mesos.apache.org/documentation/latest/configuration/
-
/usr/local/etc/mesos/mesos-agent-env.sh:设置mesos-agent环境变量,变量命名规则为MESOS_参数,其中{参数}为mesos-agent --help中的参数,设置如下:
# The mesos master URL to contact. Should be host:port for # non-ZooKeeper based masters, otherwise a zk:// or file:// URL. export MESOS_master=172.24.133.164:5050 # Other options you're likely to want to set: export MESOS_ip=172.24.133.164 export MESOS_port=5051 export MESOS_hostname=mesos_cl_agent164 export MESOS_log_dir=/var/log/mesos/agent export MESOS_work_dir=/var/run/mesos/agent export MESOS_logging_level=INFO export MESOS_isolation=cgroups
启动
mesos-master
- 执行sh mesos-start-masters.sh
- ps aux | grep mesos-master 能看到master进程
- netstat -nltp | grep mesos,能看到master已经绑定5050端口
- 查看http://127.0.0.1:5050,可以看到当前mesos集群的一些状态
mesos-agent
- 执行sh mesos-start-agents.sh
- ps aux | grep mesos-agent 能看到agent进程
- netstat -nltp | grep mesos,能看到agent已经绑定5051端口
- 查看http://127.0.0.1:5050,可以看到当前mesos集群的一些状态,同时看到对应的agent
测试Framework
-
执行mesos自带的测试framework(测试framework会自动任务执行结束后自动退出)
# Run C++ framework (Exits after successfully running some tasks.). $ ./src/test-framework --master=127.0.0.1:5050 # Run Java framework (Exits after successfully running some tasks.). $ ./src/examples/java/test-framework 127.0.0.1:5050 # Run Python framework (Exits after successfully running some tasks.). $ ./src/examples/python/test-framework 127.0.0.1:5050
-
查看http://127.0.0.1:5050,可以看到framework信息和framework执行的task信息
http://www.cnblogs.com/SailorXiao/p/5786781.html
相关推荐
### Spark学习笔记 #### Apache Spark简介 Apache Spark是一款专为大规模数据处理而设计的高性能、通用的计算引擎。它的核心特点在于提供了强大的内存计算能力,从而显著提升了数据处理的速度。Spark最初采用Scala...
### Spring Microservices:构建可扩展微服务 #### 知识点概述 本书《Spring Microservices: Build Scalable ...通过学习这些工具和技术,开发者可以更好地应对复杂的应用程序开发挑战,提高系统的性能和稳定性。
Spark-Core文档是本人经三年总结笔记汇总而来,对于自我学习Spark核心基础知识非常方便,资料中例举完善,内容丰富。具体目录如下: 目录 第一章 Spark简介与计算模型 3 1 What is Spark 3 2 Spark简介 3 3 Spark...
本学习笔记将深入探讨如何利用PySpark进行数据处理和分析,帮助你掌握这一核心技术。 首先,PySpark是Apache Spark与Python的结合,允许开发者用Python编写Spark应用程序。它提供了丰富的数据处理接口,包括RDD...
本学习笔记将深入探讨这两个工具的核心概念、应用场景以及如何将它们结合使用。 **Hadoop** 是一个开源框架,主要用于分布式存储和计算。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。HDFS...
### Spark学习笔记 #### Spark概览 ##### 1. Spark简介 - **定义**:Apache Spark是一种快速且通用的大规模数据处理系统,旨在为大规模数据处理提供高效的支持。 - **起源**:Spark最初由美国加州大学伯克利分校的...
本篇笔记主要探讨Spark中的共享变量、RDD持久化、checkpoint机制、运行模式以及任务调度等相关知识点。 1. **共享变量** - **累加器(Accumulator)**:累加器是一种只能增加不能减少的共享变量,常用于统计任务中...
学习笔记包含的内容可能涵盖了Spark的基本概念、核心组件、数据处理流程以及实际应用案例等多个方面。以下是对这些知识点的详细说明: 1. **Spark概述**:Spark是基于内存计算的大数据处理框架,它提供了一种快速、...
Runs Everywhere(跨平台性)让Spark可以在多种环境和基础设施上运行,包括Hadoop、Mesos、独立集群,甚至云端。Spark可以无缝接入各种数据源,如HDFS、Cassandra、HBase、Hive和S3,为数据处理提供了极大的灵活性。...
1. Spark安装与配置:包括本地模式、集群模式(如Standalone、YARN、Mesos)的安装和配置方法。 2. Spark Shell与PySpark:介绍如何使用Spark Shell进行交互式编程,以及PySpark的使用,它是Spark对Python的接口。 3...
"Spark学习.md"很可能是一个Markdown格式的学习笔记或教程,Markdown是一种轻量级的文本格式语言,通常用于编写技术文档。这个文件可能涵盖了Spark的基础概念,比如RDD(弹性分布式数据集)、DataFrame、DataSet,...
`spark集群搭建.docx`和`单个spark集群搭建.docx`文件将涵盖Spark集群的安装和配置过程,包括Spark Standalone、Mesos或YARN等不同的部署模式。 5. **Sqoop**:用于在Hadoop和传统的关系型数据库管理系统之间导入...
Spark笔记1.docx Spark 是什么? Spark 是一个基于内存的统一分析引擎,用于大规模数据处理,包括离线计算、实时计算和快速查询(交互式查询)。它具有快、易用和通用等特点,可以进行离线计算、交互式查询、实时...
7.1 安装与部署:涵盖Spark的单机模式、集群模式安装,以及YARN、Mesos或Standalone等资源管理器的配置。 通过以上内容,你将对Spark有全面的了解,从基础概念到实战应用,逐步掌握Spark的使用技巧,为你的数据分析...
- **视频教程**:视频教程包含了Spark的基本概念、安装配置、核心组件介绍等内容,适合初学者入门。 - **笔记文档**:笔记文档详细记录了学习过程中的重点难点,有助于加深理解和记忆。 - **实践项目**:通过实际...
Spark在设计上充分利用了现有成熟的技术栈,例如Akka和Netty用于通信,以及YARN和Mesos作为资源调度机制。这些选择不仅体现了Spark的设计哲学——即在已有优秀技术基础上构建更强大的工具,也确保了Spark的可靠性和...
4. 兼容性:Spark 可以无缝对接Hadoop生态系统,如HDFS、Hive等,同时也支持YARN、Mesos和Kubernetes作为资源管理器,这意味着已投资Hadoop的企业无需迁移数据就能利用Spark。Spark Standalone模式则为独立部署提供...
一.Spark执行机制 1.执行机制总览 Spark应用提交后经历一系列转变,最后成为task在各个节点上执行...Spark应用(application)是用户提交的应用程序,执行模式有Local,Standalone,YARN,Mesos。根据Application的Driver