spark程序提交到集群上_win10下将spark的程序提交给远程集群中运行

本文介绍了在Windows10环境下,使用IntelliJ IDEA开发Spark程序,并将其提交到远程Linux上的CDH集群运行的详细步骤。包括设置maven的pom.xml,确保版本与集群匹配,解决winutils.exe问题,处理Spark临时目录删除异常,以及从Oracle读写数据的操作。
摘要由CSDN通过智能技术生成

一,开发环境:

操作系统:win19 64位

IDE:IntelliJ IDEA

JDK:1.8

scala:scala-2.10.6

集群:linux上cdh集群,其中spark为1.5.2,hadoop:2.6.0(其实我也想用spark最新版和hadoop的最新版,但1.6以前有spark-assembly-1.x.x-hadoop2.x.x.jar)

二,实现步骤:

1,设置maven的pom.xml

4.0.0

spark

test

1.0-SNAPSHOT

2008

2.10.6

scala-tools.org

Scala-Tools Maven2 Repository

http://scala-tools.org/repo-releases

scala-tools.org

Scala-Tools Maven2 Repository

http://scala-tools.org/repo-releases

junit

junit

4.12

org.specs

specs

1.2.5

test

commons-logging

commons-logging

1.1.1

jar

org.apache.commons

commons-lang3

3.1

log4j

log4j

1.2.9

org.apache.spark

spark-core_2.10

1.5.2

org.apache.spark

spark-sql_2.10

1.5.2

org.apache.hadoop

hadoop-client

2.6.0

org.apache.spark

spark-mllib_2.10

1.5.2

org.apache.spark

spark-hive_2.10

1.5.2

org.apache.spark

spark-streaming_2.10

1.5.2

org.scala-lang

scala-library

2.10.6

src/main/scala

src/test/scala

org.scala-tools

maven-scala-plugin

compile

testCompile

${scala.version}

-target:jvm-1.5

org.apache.maven.plugins

maven-eclipse-plugin

true

ch.epfl.lamp.sdt.core.scalabuilder

ch.epfl.lamp.sdt.core.scalanature

org.eclipse.jdt.launching.JRE_CONTAINER

ch.epfl.lamp.sdt.launching.SCALA_CONTAINER

org.scala-tools

maven-scala-plugin

${scala.version}

2,编写简单程序:

object test {

def main(args: Array[String]): Unit={

val conf= new SparkConf().setMaster("spark://xxxxx:7077").setAppName("test")

val sc= newSparkContext(conf)

sc.addJar("E:\\sparkTest\\out\\artifacts\\sparkTest_jar\\sparkTest.jar")

val count= sc.parallelize(1 to 4).filter { _ =>val x=math.random

val y=math.random

x*x + y*y < 1}.count()

println(s"Pi is roughly ${4.0 * count / 4}")

sc.stop()

}

}

3,打jar包,即:file->projectStruct->Artifacts->Build->Build Artifacts,点击run运行即可(刚刚试试了下,发现不要jar也能运行,只是控制台还没结果输出?)

4,pom.xml的spar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用idea编写spark程序提交到yarn集群的例子: 1. 首先,在idea创建一个新的maven项目,选择scala语言。 2. 在pom.xml文件添加以下依赖: ``` <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.4.0</version> </dependency> </dependencies> ``` 3. 创建一个简单的Spark应用程序,例如: ``` import org.apache.spark.sql.SparkSession object WordCount { def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .appName("Word Count") .getOrCreate() val lines = spark.read.textFile(args(0)).rdd val words = lines.flatMap(_.split(" ")) val wordCounts = words.map((_, 1)).reduceByKey(_ + _) wordCounts.saveAsTextFile(args(1)) spark.stop() } } ``` 4. 在idea配置Spark环境变量,打开“Run/Debug Configurations”窗口,选择“Application”,然后单击“+”按钮添加一个新的配置。在“Environment variables”字段添加以下内容: ``` SPARK_HOME=/path/to/your/spark/home ``` 5. 在idea打开终端,使用以下命令将应用程序打包成jar文件: ``` mvn package ``` 6. 将jar文件上传到yarn集群: ``` hadoop fs -put /path/to/your/jar/file /user/yourname/ ``` 7. 在yarn集群提交应用程序: ``` spark-submit --class WordCount --master yarn --deploy-mode cluster /user/yourname/your-jar-file.jar /input/path /output/path ``` 其,“WordCount”是你的应用程序的类名,“/input/path”是输入文件的路径,“/output/path”是输出文件的路径。 8. 等待应用程序运行完成,然后检查输出文件是否正确生成。 希望这个例子能够帮助你使用idea编写spark程序提交到yarn集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值