Spark记录-Spark on mesos配置
1.安装mesos
#用centos6的源yum安装
--prefix
选项configure
以告诉它在哪里安装。例如,通过 --prefix=/home/me/mesos
。默认情况下,前缀是/usr/local
。#依赖项
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
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
3.spark on mesos(http://spark.apache.org/docs/latest/running-on-mesos.html)
在客户端模式下,直接在客户机上启动Spark Mesos框架并等待驱动程序输出。
驱动程序需要一些配置spark-env.sh
才能与Mesos正确交互:
- 在
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配置的更多相关文章
- Spark记录-官网学习配置篇(二)
### Spark SQL Running the SET -v command will show the entire list of the SQL configuration. #scala/ ...
- Spark记录-官网学习配置篇(一)
参考http://spark.apache.org/docs/latest/configuration.html Spark提供三个位置来配置系统: Spark属性控制大多数应用程序参数,可以使用Sp ...
- Spark记录-spark编程介绍
Spark核心编程 Spark 核心是整个项目的基础.它提供了分布式任务调度,调度和基本的 I/O 功能.Spark 使用一种称为RDD(弹性分布式数据集)一个专门的基础数据结构,是整个机器分区数据的 ...
- Spark记录-Spark性能优化解决方案
Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism.通常,r ...
- Spark记录-Spark On YARN内存分配(转载)
Spark On YARN内存分配(转载) 说明 按照Spark应用程序中的driver分布方式不同,Spark on YARN有两种模式: yarn-client模式.yarn-cluster模式. ...
- Spark记录-spark介绍
Apache Spark是一个集群计算设计的快速计算.它是建立在Hadoop MapReduce之上,它扩展了 MapReduce 模式,有效地使用更多类型的计算,其中包括交互式查询和流处理.这是一个 ...
- Spark记录-Spark作业调试
在本地IDE里直接运行spark程序操作远程集群 一般运行spark作业的方式有两种: 本机调试,通过设置master为local模式运行spark作业,这种方式一般用于调试,不用连接远程集群. 集群 ...
- Spark记录-Spark on Yarn框架
一.客户端进行操作 1.根据yarnConf来初始化yarnClient,并启动yarnClient2.创建客户端Application,并获取Application的ID,进一步判断集群中的资源是否 ...
- Spark记录-Spark性能优化(开发、资源、数据、shuffle)
开发调优篇 原则一:避免创建重复的RDD 通常来说,我们在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD:接着对这个RDD执行某个算子操作,然后得到 ...
随机推荐
- datatables.js 简单使用--弹出编辑框或添加数据框
内容:选中某一条记录,弹出编辑框 环境:asp.net mvc , bootstrap 显示效果: 代码: 至于怎么弄多选框,在上一篇博客里已经有说明. 主要用到了bootstrap的模态窗,下面代 ...
- 重磅发布丨乐维监控:全面兼容云平台,助力企业DevOps转型升级!
2019年伊始,我们迎来了乐维监控的又一重大功能更新——云平台监控,这将有效帮助企业将云上.云下数据聚合,方便统一化的监控管理与维护!未来,乐维监控每一次的产品功能及版本更新,我们都将第一时间于此发布 ...
- PAT-1003 Emergency(Dijkstra)
1003 Emergency (25 分) As an emergency rescue team leader of a city, you are given a special map of y ...
- JS高级程序设计学习笔记1
javascript产生的原因: 在拨号上网时代,表单数据必须发送到服务器端才能验证输入值得有效性,JavaScript的研发就是为了解决这个问题,以便在客户端就验证输入值的有效性. ECMAScri ...
- 互评Final版本——可以低头,但没必要——取件帮
基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论作品的选题; (1)N(Need,需求) 当今大部分在校学生由于各种原因懒于亲自去取快递,而总麻烦身边人也不是长久之计.而有些同学需 ...
- 【Alpha】第六次Scrum meeting
今日任务一览: 姓名 今日完成任务 所耗时间 刘乾 今日完成了python的一个template引擎airspeed的使用,并使用该引擎成功跑出一份latex模板替换文件. Issue链接:https ...
- 电梯V1.0
电梯V1.0 GitHub仓库地址 Problem 一栋3层的大楼(楼层编号0-2),设有一台无限载重的电梯,初始时电梯停在0层.电梯移动1层的耗时为1,在某一层停靠的耗时为1(时间初始为0).电梯不 ...
- k8s 使用 traefik 将clusterIP的 svc 暴露服务的方法
0. 前置条件 安装好k8s.. traefik的简介图 1. 安装 traefik 方法: 创建一个目录 并且存放部分文件等. mkdir /traefik cd /traefik git clon ...
- SQL基本概念
目录 什么是SQL? DDL(Data Definition Language,数据定义语言) 创建数据库(CREATE) 创建表(CREATE) 删除表(DROP) 更新表(ALTER) DML(D ...
- Hbase远程连接:Can't get the locations
当Java API远程连接出错:Can't get the locations 原先填入的是IP地址,后来改为HOSTS文件中配置的主机名问题解决,如下红色字体部分: conf.set("h ...