1.安装mesos

#用centos6的源yum安装

# rpm -Uvh http://repos.mesosphere.io/el/6/noarch/RPMS/mesosphere-el-repo-6-2.noarch.rpm
# yum install mesos -y
注意:如果要运行Mesos而不将其安装到系统的默认路径中(例如,如果您缺乏安装它的管理权限),请传递 --prefix选项configure以告诉它在哪里安装。例如,通过 --prefix=/home/me/mesos。默认情况下,前缀是/usr/local
#wget http://mirror.bit.edu.cn/apache/mesos/1.3.1/mesos-1.3.1.tar.gz 
#tar zxvf mesos-1.3.1.tar.gz 
#cd  mesos-1.3.1
#mkdir build
#cd build
#../configure
#make
#make install

#依赖项

#yum -y install apr-devel  libcurl-devel  apr-util-devel
#yum install subversion
#yum install subversion-javahl
#yum install subversion-devel
#yum install cyrus-sasl-md5
#yum install python-devel

2.升级gcc4.4.7到gcc4.8.0

#wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2

#tar -jxvf  gcc-4.8.0.tar.bz2
#cd gcc-4.8.0

#./contrib/download_prerequisites
#cd ..
#mkdir gcc-build-4.8.0
#cd  gcc-build-4.8.0

#../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
# j 后面的是核心数,编译速度会比较快

#make -j4
#sudo make install
#ls /usr/local/bin grep gcc
#update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
#gcc -v
升级了GCC,生成的动态库没有替换老版本gcc的动态库。
cp /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64/

rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.18 libstdc++.so.6
strings /usr/lib64/libstdc++.so.6|grep GLIBCXX

3.spark on mesos(http://spark.apache.org/docs/latest/running-on-mesos.html)

在客户端模式下,直接在客户机上启动Spark Mesos框架并等待驱动程序输出。

驱动程序需要一些配置spark-env.sh才能与Mesos正确交互:

  1. spark-env.sh设置一些环境变量:也设置spark.executor.uri<URL of spark-2.2.0.tar.gz>

    • export MESOS_NATIVE_JAVA_LIBRARY=<path to libmesos.so>。这个路径通常 <prefix>/lib/libmesos.so是前缀/usr/local默认的地方。请参阅上面的Mesos安装说明。在Mac OS X上,库被调用libmesos.dylib而不是 libmesos.so
    • export SPARK_EXECUTOR_URI=<URL of spark-2.2.0.tar.gz uploaded above>

集群模式

Mesos上的Spark还支持集群模式,驱动程序在集群中启动,客户端可以从Mesos Web UI中找到驱动程序的结果。

要使用集群模式,您必须MesosClusterDispatcher通过sbin/start-mesos-dispatcher.sh脚本启动集群,传入Mesos主URL(例如:mesos:// host:5050)。这将启动MesosClusterDispatcher在主机上运行的守护进程。

如果你喜欢MesosClusterDispatcher与马拉松运行,你需要运行MesosClusterDispatcher在前台(即:)bin/spark-class org.apache.spark.deploy.mesos.MesosClusterDispatcher。请注意,MesosClusterDispatcher尚不支持HA的多个实例。

MesosClusterDispatcher还支持写入恢复状态到动物园管理员。这将允许MesosClusterDispatcher能够在重新启动时恢复所有提交和正在运行的容器。为了启用这种恢复模式,您可以通过配置spark.deploy.recoveryMode和相关的spark.deploy.zookeeper。*配置来设置spark-env中的SPARK_DAEMON_JAVA_OPTS。有关这些配置的更多信息,请参阅配置文档

从客户端,您可以通过运行spark-submit并指定主URL MesosClusterDispatcher(例如:mesos:// dispatcher:7077)的URL来向Mesos集群提交作业。您可以在Spark集群Web UI上查看驱动程序状态。

例如:

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master mesos://207.184.161.138:7077 \
--deploy-mode cluster \
--supervise \
--executor-memory 20G \
--total-executor-cores 100 \
http://path/to/examples.jar \
1000

请注意,传递给spark-submit的jar或python文件应该是Mesos从站可访问的URI,因为Spark驱动程序不会自动上传本地jar。

Mesos运行模式

Spark可以在两种模式下运行Mesos:“粗粒度”(默认)和“细粒度”(不推荐)。

粗粒度

在“粗粒度”模式下,每个Spark执行器都作为一个Mesos任务运行。Spark执行程序根据以下配置变量进行大小调整:

  • 执行器内存: spark.executor.memory
  • 执行者核心: spark.executor.cores
  • 执行者的数量:spark.cores.max/spark.executor.cores

有关详细信息和默认值,请参阅Spark Configuration页面。

Spark记录-Spark on mesos配置的更多相关文章

  1. Spark记录-官网学习配置篇(二)

    ### Spark SQL Running the SET -v command will show the entire list of the SQL configuration. #scala/ ...

  2. Spark记录-官网学习配置篇(一)

    参考http://spark.apache.org/docs/latest/configuration.html Spark提供三个位置来配置系统: Spark属性控制大多数应用程序参数,可以使用Sp ...

  3. Spark记录-spark编程介绍

    Spark核心编程 Spark 核心是整个项目的基础.它提供了分布式任务调度,调度和基本的 I/O 功能.Spark 使用一种称为RDD(弹性分布式数据集)一个专门的基础数据结构,是整个机器分区数据的 ...

  4. Spark记录-Spark性能优化解决方案

    Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism.通常,r ...

  5. Spark记录-Spark On YARN内存分配(转载)

    Spark On YARN内存分配(转载) 说明 按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client模式.yarn-cluster模式. ...

  6. Spark记录-spark介绍

    Apache Spark是一个集群计算设计的快速计算.它是建立在Hadoop MapReduce之上,它扩展了 MapReduce 模式,有效地使用更多类型的计算,其中包括交互式查询和流处理.这是一个 ...

  7. Spark记录-Spark作业调试

    在本地IDE里直接运行spark程序操作远程集群 一般运行spark作业的方式有两种: 本机调试,通过设置master为local模式运行spark作业,这种方式一般用于调试,不用连接远程集群. 集群 ...

  8. Spark记录-Spark on Yarn框架

    一.客户端进行操作 1.根据yarnConf来初始化yarnClient,并启动yarnClient2.创建客户端Application,并获取Application的ID,进一步判断集群中的资源是否 ...

  9. Spark记录-Spark性能优化(开发、资源、数据、shuffle)

    开发调优篇 原则一:避免创建重复的RDD 通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD:接着对这个RDD执行某个算子操作,然后得到 ...

随机推荐

  1. Windows:查看IP地址,IP地址对应的机器名,占用的端口,以及占用该端口的应用程

    Windows 服务器系列: Windows:查看IP地址,IP地址对应的机器名,占用的端口,以及占用该端口的应用程 Windows:使用Dos命令管理服务(Services) Windows:任务调 ...

  2. CSS快速入门-前端布局1(抽屉)

    一.效果图 前面对CSS基础知识有了一定的了解,是时候开始实战了!以下我对抽屉(https://dig.chouti.com/)主页进行模拟布局. 官方网站效果图: 模拟网站图: 二.实现步骤 1.整 ...

  3. numpy 初识(一)

    基本操作: 读取文件(与pandas读取csv相似): import numpy numpy.genfromtxt("word.txt", delimiter=',', dtype ...

  4. ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)

    如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...

  5. 阿里云ubuntu16.04安装ruby

    0x0 准备 环境:阿里云轻量服务器ubuntu16.04 目的:安装beef需要的ruby环境 更新软件 sudo apt-get update sudo apt-get upgrade sudo ...

  6. Week11分数

  7. Java设计模式之单例模式(七种写法)

    Java设计模式之单例模式(七种写法) 第一种,懒汉式,lazy初始化,线程不安全,多线程中无法工作: public class Singleton { private static Singleto ...

  8. style和getComputedStyle(ff)和currentStyle

    obj.style:这个方法只能JS只能获取写在html标签中的写在style属性中的值(style=”…”),而无法获取定义在<style type="text/css"& ...

  9. Linux下搭建testlink1.9.17

    如果只是要搭建testlink服务的话,建议使用testlink的集成安装包,能避免很多坑 下载地址:https://bitnami.com/stack/testlink/installer 下载好后 ...

  10. python 如何写CMD命令工具

    #-*- coding: UTF- -*- import argparse import sys: sys.argv.append('--help') parser = argparse.Argume ...