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 安装笔记的更多相关文章

  1. 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 ...

  2. spark on yarn安装

    网上关于spark的安装说明很多了,这里就以spark  pre-build with user provided hadoop 安装包为例讲解, 下载spark  pre-build with us ...

  3. 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 ...

  4. CDH5.5.1 安装Spark ON Yarn环境

    CDH对我们已经封装了,我们如果需要Spark on Yarn,只需要yum安装几个包就可以了. 前面的文章我有写过如果搭建自己内网的CDH Yum服务器,请参考<CDH 5.5.1 Yum源服 ...

  5. cdh 上安装spark on yarn

    在cdh 上安装spark on yarn 还是比较简单的,不需要独立安装什么模块或者组件. 安装服务 选择on yarn 模式:上面 Spark 在spark 服务中添加 在yarn 服务中添加 g ...

  6. spark on yarn模式下内存资源管理(笔记1)

    问题:1. spark中yarn集群资源管理器,container资源容器与集群各节点node,spark应用(application),spark作业(job),阶段(stage),任务(task) ...

  7. spark on yarn模式下内存资源管理(笔记2)

    1.spark 2.2内存占用计算公式 https://blog.csdn.net/lingbo229/article/details/80914283 2.spark on yarn内存分配** 本 ...

  8. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  9. Spark on YARN的部署

    Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...

随机推荐

  1. 创建用户(adduser和useradd)和删除用户(userdel)及

    一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser 的区别 在CentOs系统中: useradd与adduser是没有区别的, ...

  2. 拷贝Maven工程依赖的jar包出来

    参考:https://blog.csdn.net/fengsheng5210/article/details/80491731

  3. Linux 只复制目录,不复制目录下数据文件

    [root@yoon u02]# mkdir yoon [root@yoon u02]# mkdir hank [root@yoon yoon]# mkdir -p 1/data [root@yoon ...

  4. chromedriver版本问题

    最新的chromedriver 66.0.3359.117 的对应chromedriver版本为2.38 http://npm.taobao.org/mirrors/chromedriver/ Web ...

  5. R Akaike information criterion,AIC,一个越小越好的指标

    Akaike information criterion,AIC是什么?一个用来筛选模型的指标.AIC越小模型越好,通常选择AIC最小的模型.第一句话好记,第二句话就呵呵了,小编有时候就会迷惑AIC越 ...

  6. [Android]如何导入已有的外部数据库

    转自:http://www.cnblogs.com/xiaowenji/archive/2011/01/03/1925014.html 我们平时见到的android数据库操作一般都是在程序开始时创建一 ...

  7. 剑指offer 链表中环的入口位置

    题目描述 一个链表中包含环,请找出该链表的环的入口结点.   思路:这题需要知道a = c,然后head和slow每次走一步,相遇的时候就是第一个入口交点, 注意:for循环或者while循环之后,一 ...

  8. python中的魔术属性与魔法方法

    1.魔法属性 · 1.1__doc__魔法属性  表示类的描述信息 class Fo: """ 这是今天第一个魔术属性__doc__""" ...

  9. LeetCode1005 K次取反后最大化的数组和(贪心+Java简单排序)

    题目: 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次.(我们可以多次选择同一个索引 i.) 以这种方式修 ...

  10. duilib+cef自定义浏览器控件编译错误

    新版博客已经搭建好了,有问题请访问 htt://www.crazydebug.com 公司二期好主播项目,决定用duilib开发界面,且从ie内核换成谷歌内核 再用duilib自定义一个Browser ...