Spark on Yarn 集群运行要点
实验版本:spark-1.6.0-bin-hadoop2.6
本次实验主要是想在已有的Hadoop集群上使用Spark,无需过多配置
1、下载&解压到一台使用spark的机器上即可
2、修改配置文件 vi ./conf/spark-env.sh
export HADOOP_HOME=/share/apps/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
3、测试验证spark正常运行
./bin/spark-submit --master yarn --name spark-test --class org.apache.spark.examples.SparkPi lib/spark-examples*.jar
部署文章可以参考:
Spark1.0.x入门指南(spark on yarn, standalone) —核心网络 http://demo.netfoucs.com/can007/article/details/37885555
Spark 官方提供了三种集群部署方案: Standalone, Mesos, YARN,区别就在于资源管理调度平台不同。
其中Spark on YARN 支持两种运行模式,分别为yarn-cluster
和yarn-client。
yarn-cluster适用于生产环境,yarn-cluster模式下,driver运行在AM(Application Master)中,它负责向YARN申请资源,并监督作业的运行状况。当用户提交了作业之后,就可以关掉Client,作业会继续在YARN上运行。
而yarn-client适用于交互和调试,快速地看到application的输出,yarn-client模式下,Application Master仅仅向YARN请求executor,client会和请求的container通信来调度他们工作,也就是说Client不能离开。
# --deploy-mode 默认值为client
./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options] # debug
yarn logs -applicationId <app ID>
# yarn logs -applicationId application_1452166952348_14773
# spark-submit --master yarn --deploy-mode cluster user_event_withFlow_distributed.py
推荐阅读系列文章: http://www.iteblog.com/archives/1223
Q:scala是否必要?
A:我没有安装,spark可以正常运行。【具体作用求解答】
Q:分布式环境下使用shell
A:
./bin/spark-shell --master yarn --deploy-mode client
Q:每次提交运行任务时,都会要上传$SPARK_HOME/lib/spark-examples-1.6.0-hadoop2.6.0.jar到HDFS上,好慢
A:在HDFS上面建立一个公共的lib库存放目录,每次运行Spark时,如果程序依赖的Jar包存在HDFS中的lib库中,那么不上传该Jar包。
上传jar包
hadoop fs -mkdir spark_lib
hadoop fs -put /home/manhua/app/spark-1.6.-bin-hadoop2./lib/spark-assembly-1.6.-hadoop2.6.0.jar spark_lib/spark-assembly-1.6.-hadoop2.6.0.jar
修改配置文件
cd spark/conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf #add
spark.yarn.jar=hdfs:///user/jiangmanhua/spark_lib/spark-assembly-1.6.0-hadoop2.6.0.jar
再次运行,已经不用上传了。
./bin/spark-submit --master yarn --name spark-test --class org.apache.spark.examples.SparkPi lib/spark-examples*.jar
该方法理论上同样适用其他的依赖包
Q:如何自定义格式化输出?
A:转换使得RDD的数据结构为[(k,v), (k,v)......],然后使用saveAsNewAPIHadoopFile函数保存到文件系统,输出则为k\tv
u_acts.saveAsNewAPIHadoopFile('tmp/out20160121-1', "org.apache.hadoop.mapreduce.lib.output.TextOutputFormat",
"org.apache.hadoop.io.Text", "org.apache.hadoop.io.Text")
Spark on Yarn 集群运行要点的更多相关文章
- Spark on Yarn集群搭建
软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...
- hadoop - spark on yarn 集群搭建
一.环境准备 1. 机器: 3 台虚拟机 机器 角色 l-qta3.sp.beta.cn0 NameNode,ResourceManager,spark的master l-querydiff1.sp ...
- 配置Spark on YARN集群内存
参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...
- 提交第一个spark作业到集群运行
写在前面 接触spark有一段时间了,但是一直都没有真正意义上的在集群上面跑自己编写的代码.今天在本地使用scala编写一个简单的WordCount程序.然后,打包提交到集群上面跑一下... 在本地使 ...
- spark on yarn 集群部署
概述 hadoop2.7.1 spark 1.5.1 192.168.31.62 resourcemanager, namenode, master 192.168.31.63 nodeman ...
- Spark程序提交到Yarn集群时所遇异常
Exception 1:当我们将任务提交给Spark Yarn集群时,大多会出现以下异常,如下: 14/08/09 11:45:32 WARN component.AbstractLifeCycle: ...
- Yarn 集群环境 HA 搭建
环境准备 确保主机搭建 HDFS HA 运行环境 步骤一:修改 mapred-site.xml 配置文件 [root@node-01 ~]# cd /root/apps/hadoop-3.2.1/et ...
- Flink 集群运行原理兼部署及Yarn运行模式深入剖析
1 Flink的前世今生(生态很重要) 原文:https://blog.csdn.net/shenshouniu/article/details/84439459 很多人可能都是在 2015 年才听到 ...
- 有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark
有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...
随机推荐
- HDU 1285 确定比赛名次【字典序最小的拓扑排序 + 优先队列】
确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- POJ 2492 A Bug's Life【并查集高级应用+类似食物链】
Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...
- 洛谷——P2371 EXCEEDED WARNING C(50)
P2371 EXCEEDED WARNING C 题目背景 第三道溢出警告... 机(wei)智(suo)的TMXi又搬题来坑大家了... 注意时空限制[坏笑] 题目描述 [li]1949年,阿三的数 ...
- 【PHP】mysql基本操作整合
php版本:PHP Version 5.5.1 环境:windows10 XMAPP 数据库:mysql 代码: <?php function connetionDB($servername, ...
- [NEERC2007][SHOI2008]Cactus Reloaded
题目大意: 给你一个仙人掌,求图中相距最远的点对之间的距离. 思路: Tarjan+DP. 我们先考虑一个树的情况. 设用far[u]表示点u出发到其子树中叶子节点的最大距离,若v为u的子结点,很显然 ...
- Problem B: 零起点学算法17——2个数比较大小
#include<stdio.h> int main() { int n,m; while(scanf("%d %d",&n,&m)!=EOF) if( ...
- iOS 公司开发者账号申请清单
公司开发者账号申请清单: Apple ID账号申请: (有账号请提供账号密码) Apple ID: (最好是公司邮箱账号) Apple ID密码: (大于8位, 字母或数字组成, 包含 ...
- CentOS 6.9下的Setup工具(用于管理服务/防火墙/网络配置/验证服务)
说明:Setup工具套件好像是CentOS下特有的用于管理服务/防火墙/网络配置等,其实就是基于命令行模式界面的GUI工具.唯一特点就是方便. 安装: #安装Setup命令工具 yum -y inst ...
- 使用Rabbitmq.client反序列化包含Mongo.Bson.ObjectId属性实体类时抛异常
原因分析: 队列中存储的objectId属性是字符串,反序列化字符串转换成objectid类型时报错 解决方法: 1.定义ObjectIdConverter属性类,反序列 ...
- Android应用内 代码截屏(获取View快照)和 禁止截屏
1. 应用内的代码截屏(获取View的快照) Android的View类中提供了获取控件绘制缓存的方法,这种截屏的方式仅限于应用内自己的Activity界面,不需要任何权限,严格来说该方法不属于截屏, ...