实验版本: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 

部署文章可以参考:

Spark On YARN 集群安装部署 | Jark's Blog http://www.wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/

Spark1.0.x入门指南(spark on yarn, standalone) —核心网络 http://demo.netfoucs.com/can007/article/details/37885555


Spark 官方提供了三种集群部署方案: Standalone, Mesos, YARN,区别就在于资源管理调度平台不同。

其中Spark on YARN 支持两种运行模式,分别为yarn-clusteryarn-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 集群运行要点的更多相关文章

  1. Spark on Yarn集群搭建

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...

  2. hadoop - spark on yarn 集群搭建

    一.环境准备 1. 机器: 3 台虚拟机 机器 角色  l-qta3.sp.beta.cn0 NameNode,ResourceManager,spark的master l-querydiff1.sp ...

  3. 配置Spark on YARN集群内存

    参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...

  4. 提交第一个spark作业到集群运行

    写在前面 接触spark有一段时间了,但是一直都没有真正意义上的在集群上面跑自己编写的代码.今天在本地使用scala编写一个简单的WordCount程序.然后,打包提交到集群上面跑一下... 在本地使 ...

  5. spark on yarn 集群部署

    概述 hadoop2.7.1 spark 1.5.1 192.168.31.62   resourcemanager, namenode, master 192.168.31.63   nodeman ...

  6. Spark程序提交到Yarn集群时所遇异常

    Exception 1:当我们将任务提交给Spark Yarn集群时,大多会出现以下异常,如下: 14/08/09 11:45:32 WARN component.AbstractLifeCycle: ...

  7. Yarn 集群环境 HA 搭建

    环境准备 确保主机搭建 HDFS HA 运行环境 步骤一:修改 mapred-site.xml 配置文件 [root@node-01 ~]# cd /root/apps/hadoop-3.2.1/et ...

  8. Flink 集群运行原理兼部署及Yarn运行模式深入剖析

    1 Flink的前世今生(生态很重要) 原文:https://blog.csdn.net/shenshouniu/article/details/84439459 很多人可能都是在 2015 年才听到 ...

  9. 有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark

    有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...

随机推荐

  1. 用 grunt-contrib-connect 构建实时预览开发环境 实时刷新

    本文基本是参照着 用Grunt与livereload构建实时预览的开发环境 实操了一遍,直接实现能实时预览文件列表,内容页面.不用刷新页面了,这比以前开发网页程序都简单. 这里要用到的 Grunt 插 ...

  2. MySQL插入中文数据报错

    在操作数据库插入中文会出现如下错误: ERROR 1366 (HY000): Incorrect string value: '\xC4\xE3\xBA\xC3' for column 'userna ...

  3. HDU 1251 统计难题 (字典树)(查询是否为前缀)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  4. Educational Codeforces Round 10 E - Pursuit For Artifacts (强联通缩点 + 回溯)

    题目链接:http://codeforces.com/contest/652/problem/E 给你n个点m个边,x和y双向连接,要是z是1表示这条边上有宝藏,0则没有,最后给你起点和终点,问你要是 ...

  5. Asp.Net MVC part4 异步、校验、区域Area

    异步方式1:使用jquery的异步函数方式2:使用MVC的AjaxHelper行为的返回值设置:JsonResult对象,使用Json方法接收一个对象,在内部会完成对象的js序列化,向输出流中输出js ...

  6. Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核

    安装: sudo apt-add-repository main sudo apt-get update sudo apt-get install qemu-kvm qemu virt-manager ...

  7. Android studio百度地图demo出现230错误,key校验失败

    转自daoxiaomianzi原文 Android studio 百度地图demo出现230错误,key校验失败 使用AndroidStudio导入Baidu地图的as版的demo,引入后,发现没有k ...

  8. 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存

    sql server更改了数据表的字段/新增数据表的字段  无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选   即可

  9. 简单php连接数据库作操作

    1.近期稳定版本 <?php header('Content-Type: application/json'); $output = []; $host = ''; //MySQL服务器地址 $ ...

  10. JVM监测分析JConsole

    一.基本操作   启动界面 1.JConsole是什么 从Java 5开始引入了JConsole.JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行.您可以轻松地使 ...