spark on yarn 安装笔记
yarn版本:hadoop2.7.0
spark版本:spark1.4.0
0.前期环境准备:
jdk 1.8.0_45
hadoop2.7.0
Apache Maven 3.3.3
1.编译spark on yarn
下载地址:http://mirrors.cnnic.cn/apache/spark/spark-1.4.1/spark-1.4.1.tgz
解压后进入spark-1.4.1
执行如下命令,Setting up Maven’s Memory Usage
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
编译spark,使其支持yarn
mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7. -DskipTests clean package
编译会进行很长时间,期间maven会下载很多东西,还会输出很多warning,一般warning不会有影响,编译成功后会显示build success。
3.添加环境变量
export HADOOP_HOME=your hadoop dir
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=HADOOP_HOME/etc/hadoop
export YARN_HOME=$HADOOP_HOME
export YARN_CONF_DIR=HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_CONF_DIR
export SPARK_HOME=your spark dir
export PATH=$PATH:$SPARK_HOME/bin
4.执行例子程序,计算pi
向yarn提交任务执行程序的格式
$ ./bin/spark-submit --class path.to.your.Class --master yarn-cluster [options] <app jar> [app options】
因此执行计算pi的例子程序格式如下:
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \
--num-executors \ #执行任务的节点数
--driver-memory 4g \
--executor-memory 2g \
--executor-cores \
examples/target/spark-examples_2.-1.4..jar
例子程序在examples/target下,选择class为org.apache.spark.examples.SparkPi即为计算pi的类
提交成功后可以查看http://localhost:8088查看yarn的管理界面,查看对应任务后的tracking UI即可查看spark的管理界面
任务成功结束后可以在对应的log的stdout下看到计算的最后pi的结果,例如我的电脑上地址为:
http://mmc:8088/logs/userlogs/application_1436998397621_0011/container_1436998397621_0011_01_000001/stdout
致谢:http://spark.apache.org/docs/latest/running-on-yarn.html #官方文档
http://spark.apache.org/docs/latest/building-spark.html#building-a-runnable-distributio #官方文档
http://database.51cto.com/art/201404/435669.htm
http://blog.csdn.net/jiushuai/article/details/26693569
http://sofar.blog.51cto.com/353572/1352713
5.小结:如果网上资料太少,官方文档最重要,虽然看官方文档真的很头疼,网上资料很多,但是有的帖子比较老,spark的最新版本的解决方法跟网上的帖子还是有些差别,版本方面一定要看清楚,否则
他的成功了,你的不一定成功,如果出错一定学会看log,一行一行的看下来你会收获很多。
要善于总结别人的帖子,不要一味的找到一个就开干,不然最后错了去查错都不知道自己哪些操作导致的,会影响进度
spark感觉很麻烦,作为一个新手要好好学习
spark on yarn 安装笔记的更多相关文章
- Ubuntu 14.10 下Spark on yarn安装
1 服务器分布 服务器 说明 192.168.1.100 NameNode 192.168.1.101 DataNode 192.168.1.102 DataNode 2 软件环境 2.1 安装JDK ...
- spark on yarn安装
网上关于spark的安装说明很多了,这里就以spark pre-build with user provided hadoop 安装包为例讲解, 下载spark pre-build with us ...
- Spark on YARN模式的安装(spark-1.6.1-bin-hadoop2.6.tgz + hadoop-2.6.0.tar.gz)(master、slave1和slave2)(博主推荐)
说白了 Spark on YARN模式的安装,它是非常的简单,只需要下载编译好Spark安装包,在一台带有Hadoop YARN客户端的的机器上运行即可. Spark on YARN简介与运行wor ...
- CDH5.5.1 安装Spark ON Yarn环境
CDH对我们已经封装了,我们如果需要Spark on Yarn,只需要yum安装几个包就可以了. 前面的文章我有写过如果搭建自己内网的CDH Yum服务器,请参考<CDH 5.5.1 Yum源服 ...
- cdh 上安装spark on yarn
在cdh 上安装spark on yarn 还是比较简单的,不需要独立安装什么模块或者组件. 安装服务 选择on yarn 模式:上面 Spark 在spark 服务中添加 在yarn 服务中添加 g ...
- spark on yarn模式下内存资源管理(笔记1)
问题:1. spark中yarn集群资源管理器,container资源容器与集群各节点node,spark应用(application),spark作业(job),阶段(stage),任务(task) ...
- spark on yarn模式下内存资源管理(笔记2)
1.spark 2.2内存占用计算公式 https://blog.csdn.net/lingbo229/article/details/80914283 2.spark on yarn内存分配** 本 ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- Spark on YARN的部署
Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...
随机推荐
- [LuoguP1025][数据加强]数的划分
原题连接:Click 加强数据:Click Solution 参考博客:Click 题目意思非常明确了,这是一道组合数学的题目.我就直接讲dp解法了. dp 题意可以转化为将\(n\)个苹果放进\(k ...
- 「JSOI2008」Blue Mary的旅行
传送门 Luogu 解题思路 分层图加网络流,有点像这题 可以证明最多不超过100天,所以才可以分层,不然图的规模会很大. 首先连源点汇点: \((s,1,INF), (n, t, INF)\) 以时 ...
- 104、Java中String类之使用indexOf()等功能查找
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- CSS-fontface
@font-face { font-family: <identifier>; src: <fontsrc> [, <fontsrc>]*; <font> ...
- Rabbitmq与spring整合之重要组件介绍——rabbitAdmin组件
rabbitAdmin组件是一个管理组件,主要是用户通过该组件进行rabbitmq的队列交换器虚拟主机等等进行操作.这里面有些教程说不用声明可以直接绑定,但是本博主运行时,不生命情况下就会报错,可能是 ...
- LCA之tarjan离线
显然81篇题解是有点多了,不让我提交. 更为不好的是没有一篇详细的\(tarjan\)(不过我也不会写详细的). 不过\(tarjan\)并没有我们想象的那样难理解,时间也并不爆炸(巧妙的跳过难写二字 ...
- JS: 子项可以来回交换的两个下拉列表
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- 初学者的困惑:OOP与一般编程的区别
*在写<程序猿的思维修炼>随笔中,我们大概猜想到了,OOP的思想更趋于模块化,更独立,因此称为一个个对象,本次随笔将对OOP和一般编程的区别有更详细的解释 面向对象编程的含义: 面向对象编 ...
- delphi保存和提取ini文件信息
procedure TLoginForm.FormShow(Sender: TObject);var ini:TIniFile; name:string;begin //实现动态提取数据库的登录用户名 ...
- linux扩容空间,再扩容文件系统
Linux磁盘空间进行扩容 参考博客 http://blog.csdn.net/dingchenxixi/article/details/50986472 http://blog.sina.com.c ...