环境
Spark On Yarn环境准备:
Spark:0.9.1 release。注意要选择relase版本(不是incubating版),踩到的坑会比较少。下载页面 http://spark.apache.org/downloads.html
Hadoop:2.0.0-cdh4.2.1。MRv2(Yarn)
环境:cygwin(Git console also works)
编译机器:内存够大(2G以上吧)
如果带宽够大,你就成功30了。如果你有SSD,你就成功80%了。
准备
下载后解压spark,然后SparkBuild.scala做一些修改。SparkBuild.scala是Spark使用的build系统sbt的配置文件。相当于maven的pom文件。
修改project/SparkBuild.scala:
1) force protobuf dependency:这个版本是hadoop 2.0.0-cdh4.2.1用的版本。不写定版本会有问题。
libraryDependencies ++= Seq(
"com.google.protobuf" % "protobuf-java" % "2.4.0a" force(),
2)修改maven repo。搜索resolvers ++= Seq,对于有local maven repo的情况下,修改为本地的repo。
3)修改maven local repo地址。如果之前用过maven了。可以指定local repo
resolvers ++= Seq(Resolver.file("Local Maven Repo", file("D:/repository"))),
编译
进入Spark Home,执行
SPARK_HADOOP_VERSION=2.0.0-cdh4.2.1 SPARK_YARN=true sbt/sbt assembly
编译很慢,约一个小时。如果dependency需要下载就不好说了。
Tips:如果有问题,可以尝试proxy:export HTTP_PROXY=http://127.0.0.1:port
拷贝
把需要的内容拷贝到hadoop集群上。比如spark目录。这个目录包含下面的目内容:
bin和conf下的所有文件:
./bin/run-example
./bin/spark-shell
./bin/pyspark
./bin/compute-classpath.sh
./bin/spark-class
./conf/fair-scheduler.xml
./conf/metrics.properties.template
./conf/spark-env.sh
./conf/fairscheduler.xml.template
./conf/log4j.properties
./conf/slaves
和spark & example:
./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.2.1.jar
./examples/target/scala-2.10/spark-examples-assembly-0.9.1.jar
分发
可以参考下面的脚本分发
#!/bin/sh #Author: Meng Zang <mzang@ctrip.com> #Date: 2014-04-11 NODES_ADDRESS=~/spark/nodes TMP_SPARK=~/spark SPARK=/usr/local/spark sync() { # sudo mkdir ${SPARK} # sudo cp $TMP_SPARK/* $SPARK for node in $(cat $NODES_ADDRESS) do ssh -p 1022 $node "mkdir -p $TMP_SPARK" ssh -p 1022 $node "sudo mkdir -p $SPARK" rsync -vaz --delete -e 'ssh -p 1022' $TMP_SPARK/ $node:$TMP_SPARK ssh -p 1022 $node "sudo cp $TMP_SPARK/* $SPARK" done } case "$1" in 'sync') sync ;; *) echo "Usage: $0 {sync}" exit 1 esac exit 0
执行example
# step into spark dir export HADOOP_CONF_DIR=/etc/hadoop/conf export YARN_CONF_DIR=/etc/hadoop/conf SPARK_JAR=./assembly/target/scala-2.10/spark-assembly-0.9.1-hadoop2.0.0-cdh4.2.1.jar \ ./bin/spark-class org.apache.spark.deploy.yarn.Client \ --jar examples/target/scala-2.10/spark-examples-assembly-0.9.1.jar \ --class org.apache.spark.examples.SparkPi \ --args yarn-standalone \ --num-workers 3 \ --master-memory 4g \ --worker-memory 2g \ --worker-cores 1
执行过程中,可以去MRv2的web console查看。也可以在控制台看到执行的report
14/04/11 16:43:44 INFO Client: Application report from ASM: application identifier: application_1397119957695_0037 appId: 37 clientToken: null appDiagnostics: appMasterHost: SVR2370HP360.hadoop.test.sh.ctriptravel.com appQueue: default appMasterRpcPort: 0 appStartTime: 1397205809221 yarnAppState: RUNNING distributedFinalState: UNDEFINED appTrackingUrl: SVR2368HP360.hadoop.test.sh.ctriptravel.com:8088/proxy/application_1397119957695_0037/ appUser: op1 14/04/11 16:43:45 INFO Client: Application report from ASM: application identifier: application_1397119957695_0037 appId: 37 clientToken: null appDiagnostics: appMasterHost: SVR2370HP360.hadoop.test.sh.ctriptravel.com appQueue: default appMasterRpcPort: 0 appStartTime: 1397205809221 yarnAppState: RUNNING distributedFinalState: UNDEFINED appTrackingUrl: SVR2368HP360.hadoop.test.sh.ctriptravel.com:8088/proxy/application_1397119957695_0037/ appUser: op1 14/04/11 16:43:46 INFO Client: Application report from ASM: application identifier: application_1397119957695_0037 appId: 37 clientToken: null appDiagnostics: appMasterHost: SVR2370HP360.hadoop.test.sh.ctriptravel.com appQueue: default appMasterRpcPort: 0 appStartTime: 1397205809221 yarnAppState: FINISHED distributedFinalState: SUCCEEDED appTrackingUrl: appUser: op1
相关推荐
Spark on Yarn模式部署.docx
1. 解压Spark安装包 2. 配置Hadoop生态组件相关环境变量 2. 在 master 节点上,关闭HDFS的安全模式: 3. 在 master 节点上
■ YARN 的设计目的和基本架构 ■ MapReduce 概念 ■ Apache Spark 概念 ■ YARN 如何分配集群资源 ■ YARN 如何处理故障 ■ 如何查看和管理YARN 应用程序 ■ 如何访问YARN 应用程序日志
【讲义-第10期Spark公益大讲堂】Spark on Yarn-.pdf
Spark on Yan集群搭建的详细过程,减少集群搭建的时间
基于docker搭建spark on yarn及可视化桌面.doc
spark初始化源码阅读sparkonyarn的client和cluster区别
SPARK2_ON_YARN-2.4.0 jar包下载
#资源达人分享计划#
基于SparkonYarn的淘宝数据挖掘平台
本来不打算写的了,但是真的是闲来无事,整天看美剧也没啥意思。这一章打算讲一下Spark onyarn的实现,1.0.0里面...在第一章《spark-submit提交作业过程》的时候,我们讲过Sparkonyarn的在cluster模式下它的main clas
三种方式的spark on kubernetes对比,第一种:spark原生支持Kubernetes资源调度;第二种:google集成的Kubernetes的spark插件sparkoperator;第三种:standalone方式运行spark集群
Oozie Spark on YARN requirement failed 所需jar包:http://blog.csdn.net/fansy1990/article/details/53856608
spark-yarn_2.11-2.1.3-SNAPSHOT.jar
基于Spark_on_Yarn的淘宝数据挖掘平台
Spark On Yarn完全分布式集群环境搭建文档。 分为如下几部分: 1、环境的准备; 2、Zookeeper完全分布式搭建; 3、Hadoop2.0 HA集群搭建步骤介绍; 4、Spark On Yarn搭建介绍; 5、集群启动介绍; 最新最全的java培训视频...
2014年Spark Summit于6月30日至7月2日在美国旧金山举行。Spark、Shark、Spark流媒体和相关项目及产品的主要用户聚集一地,共同探讨Spark项目开发的方向,以及Spark在各种各样应用程序中的实践情况。
presto on yarn的安装部署文档。已经在测试环境安装,可访问生产环境hive数据,访问速度快。presto版本0.220
java提交spark任务到yarn平台的配置讲解共9页.pdf.zip
spark-2.2.0-yarn-shuffle.jar