spark-core包源码编译以及打包运行

一、 集群环境下运行系统

  1. 打包spark
  2. 在maven projects视图选择Spark Project Parent POM(root),然后选中工具栏倒数第四个按钮(ship Tests mode)按下,这时Liftcycle中test是灰色的。
  3. spark-core包源码编译以及打包运行_第1张图片
  4. 接着按倒数第一个按钮进入Maven编译设置,在runner项设置VM option:(好像可以不设)
    -Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m
  5. 按OK 保存。
  6. spark-core包源码编译以及打包运行_第2张图片
    注意!要按闪电按键屏蔽test
  7. 回到maven projects视图,点中Liftcycle中package,然后按第5个按钮(Run Maven Build按钮),开始编译。其编译结果和命令行下Maven编译是一样的。
  8. 如图,编译成功。
  9. spark-core包源码编译以及打包运行_第3张图片
    整个项目编译的时间较长,如果之后的开发中,只改动了某个包下的源码,就只需要重新编译对应的jar包,然后替换对应源码目录的jars包,这样就可以在自己二次开发后的源码进行调试、运行了。注意打包成功的路径位于对应包的target目录下

二、. 打包应用程序到集群上运行
idea中编译运行代码,可成功运行
修改2处代码
//只配置appName,其他配置项注释掉
val conf=new SparkConf()
.setAppName(“pageRank”)
//文件加载路径设为空,在提交执行时设置该参数
val inputPath=args(0)
val links=sc.textFile(inputPath)
如果已经打包过,需要删除main/java目录下的manifest.mf文件
file->project structure->artifacts-> + jar->from modules with dependencies
删除多余的jar包(很重要)
只留下一个 :*** compile output
标明main class
build -> build artifacts->build/rebuild
提交集群运行代码示例:
cd Spark-2.1.0/bin
spark-submit --master spark://master:7077
–deploy-mode client
–executor-memory 8G //设成4G可用
–executor-cores 4 \ //可以不设
–conf spark.shuffle.compress=false \ //默认压缩
–conf spark.shuffle.spill.compress=false \ //默认压缩
–class org.apache.spark.examples.hust.hml.pageRank.PageRankde
hdfs://dmdb-224:9000/spark/new17/public_graph_sample.txt

spark-core包源码编译以及打包运行_第4张图片
在这里插入图片描述
实验脚本记录
#! /bin/bash
cd /usr/local/spark/bin/
echo “0.1 running”
./spark-submit
—master spark://master:7077
–-deploy-mode client
–-executor-memory 4G
–-class org.apache.spark.examples.lala.Wordcount2
/home/hadoop/myexperiment/spark-examples_2.11-2.1.0.jar
hdfs://master:9000/spark/skew_2G.txt
0.1
echo “0.1 finished”

你可能感兴趣的:(Spark,源码编译,spark集群,打包)