1.说明:
- 首先要部署好Hadoop集群包括HDFS和YARN,这里不再赘述.
- Spark on YARN模式,不需要启动spark的master和worker,master的工作由YARN完成.
- 相关路径根据实际情况修改.
- 1.4和1.6版本部署过程类似.
解压至某个目录,如”/usr/local/hadoop/spark-1.6.1-bin-hadoop2.4”.
解压后得到如下文件
配置 配置文件在conf目录中.
配置环境变量
cp spark-env.sh.template spark-env.sh
在spark-env.sh中添加如下:
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.4.1
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop/
配置spark选项
cp spark-defaults.conf.template spark-defaults.conf
添加如下:
spark.masteryarn#指定使用yarn
spark.driver.memory1g#指定driver使用的内存
spark.executor.memory512m#指定executor使用的内存
选填:
spark.executor.extraClassPath/data/hadoop/hadoop/hadoop-2.4.1/share/hadoop/common/lib/hadoop-lzo-0.4.20.jar
spark.driver.extraClassPath/data/hadoop/hadoop/hadoop-2.4.1/share/hadoop/common/lib/*
spark.kryoserializer.buffer.max256m
另外也可以设置一下Spark的log4j配置文件,使得屏幕中不打印额外的INFO信息:
cp log4j.properties.template log4j.properties
修改一行
log4j.rootCategory=WARN, console
启动一个spark应用 执行 ./bin/spark-shell
【Spark|Spark on YARN 部署】输出将包括如下所示
浏览器访问当前机器的8088端口,将可以看到当前启动的driver的web界面,如下:
点击’Environment’标签,将可以看到相关环境变量和属性的值.
浏览器访问YARN的管理页面,可以看到有一个SPARK应用正在运行(如下),至此spark就可以跑在YARN上了.
3.运行模式 Spark on YARN有两种运行模式cluster和client,spark-shell和spark-sql交互式的应用只支持client模式.
两种模式区别如下:
从广义上讲,yarn-cluster适用于生产环境;而yarn-client适用于交互和调试,也就是希望快速地看到application的输出。可以参考这篇博客:Spark:Yarn-cluster和Yarn-client区别与联系(http://www.iteblog.com/archives/1223).
4.参考文献: Running Spark on YARN
http://spark.apache.org/docs/latest/running-on-yarn.html
原文:http://liam8.ml/2016/03/29/spark-on-yarn/
推荐阅读
- #|股票数据分析
- hadoop|Zookeeper 应用案例(一)之服务器上下线动态感知
- 大数据|控制论,计算机设计和思想会议
- 程序设计语言|【spark】windows本地通过pyCharm调试pyspark程序的配置
- spark|Spark RDD 初学
- AIRX|数据科学家需要了解的15个Python库
- 业界观点|Ion Stoica(做成Spark和Ray两个明星项目的秘笈)
- spark|MySQL数据库数据迁移到Hbase的几种方法
- Spark|Spark 进程模型与分布式部署(什么是分布式计算())