windows写spark代码并打包交到集群运行

一.下载spark,hadoop,java,scala,idea

1.spark,本地调试代码需要运行你写的scala,其中引用的所有spark库都需要spark的jar包,使用集群机器上的spark文件夹里面的jars即可,将集群上的spark拷贝下来。

2.hadoop,同spark,但是需要下载winutils.exe在hadoop的bin目录下,否则会报Could not locate executable null\bin\winutils.exe in the Hadoop binaries错误。

地址:https://github.com/sdravida/hadoop2.6_Win_x64/blob/master/bin/winutils.exe 感谢zxzLife老哥!

致谢:https://blog.csdn.net/weixin_41122339/article/details/81141913

3.一定要安装你hadoop对应的scala版本,开发机上进spark里面会提示你使用的是什么版本的scala

4.安装你scala支持的jdk版本,最好直接对应上,否则会报exception,但是好像不影响运行,我还是调整了我的jdk变成了1.8.

5.下载idea,我用的是专业版,教育邮箱白嫖专业版。

6.配置环境变量:

path

二、使用sbt创建scala工程 

注意:红框里面要选正确的版本号!

然后点击Finish,第一次创建会有一大堆的import,需要耗时比较久,趁机休息一会儿。

 

三、添加spark jars

project structure

里面的JARS or Directory

apply&ok

然后查看External Libraries里面有了spark的jar包

四、创建scala object

因为在创建的时候已经选择了scala版本,这块直接scala文件夹右键新建scala class 选择object即可

 

五、打包

左侧删除掉额外的jars 只保留这两项

查看output文件夹:

jar包有了

解压打开可以看到class名:

注意:test.class 我们一会写的脚本要提交这个class前面的名字也就是test

六、交到集群上执行

运行脚本:

./spark-submit --class test \
--master yarn \
--deploy-mode client \
../examples/jars/example_csdn.jar 

注意:

1.你读取的文件要放在hdfs上

2.client模式提交

3.cluster提交不要指定master!

不要setMaster()!给我删掉!删掉!否则报code 13 的集群冲突!如下:

ERROR yarn.Client: Application diagnostics message: Application application_xxx failed 2 times due to AM Container for appattempt_xxx exited with  exitCode: 13

致谢:http://bcxw.net/article/113.html

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值