spark任务提交到yarn上命令总结

spark任务提交到yarn上命令总结

1. 使用spark-submit提交任务

  • 集群模式执行 SparkPi 任务,指定资源使用,指定eventLog目录
spark-submit  --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --conf spark.eventLog.dir=hdfs://dbmtimehadoop/tmp/spark2 \
    --deploy-mode cluster \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    --queue thequeue \
    $SPARK_HOME/examples/jars/spark-examples*.jar \
    10
  • 不指定资源,使用yarn的默认资源分配。
spark-submit  --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --conf spark.eventLog.dir=hdfs://dbmtimehadoop/tmp/spark2 \
    --deploy-mode cluster \
    $SPARK_HOME/examples/jars/spark-examples*.jar 10
  • 动态的加载spark配置
./bin/spark-submit --name "My app" --master local[4] --conf spark.eventLog.enabled=false
  --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" myApp.jar
  • 客户端模式执行 SparkPi 任务:spark-submit
spark-submit  --class org.apache.spark.examples.SparkPi \
    --conf spark.eventLog.dir=hdfs://dbmtimehadoop/tmp/spark2 \
    --master yarn \
    --deploy-mode client \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    $SPARK_HOME/examples/jars/spark-examples*.jar \
    10

2. 使用spark-shell提交任务到yarn上

  • 使用spark-shell测试wordcont:使用-jars加载任务运行依赖的jar包,多个jar包以逗号分隔。
    spark-shell --master yarn --conf spark.eventLog.dir=hdfs://dbmtimehadoop/tmp/spark2 --jars /home/fxzhao/hadoop-lzo-0.4.20-SNAPSHOT.jar

在随后的终端框中如下scala脚本:统计hdfs://dbmtimehadoop/tmp/fuxin.zhao/wordcounttest 中各个单词的数量。
在scala终端中输入 “:paste”可以输入多条scala语句。按CRTL+d 结束。

val textFile = sc.textFile("hdfs://dbmtimehadoop/tmp/fx.zhao/wordcounttest")
val counts = textFile.flatMap(line => line.split(" "))
                 .map(word => (word, 1))
                 .reduceByKey(_ + _)
counts.saveAsTextFile("hdfs://dbmtimehadoop/tmp/fx.zhao/wordcounttest_res")

##########将统计结果按照key排序。
val textFile = sc.textFile("hdfs://dbmtimehadoop/tmp/fx.zhao/wordcounttest")
val counts = textFile.flatMap(line => line.split(" "))
                 .map(word => (word, 1))
                 .reduceByKey(_ + _)
                 .sortByKey()
counts.saveAsTextFile("hdfs://dbmtimehadoop/tmp/fx.zhao/wordcounttest_res")

  • Spark-shell 启动时添加添加依赖jar包:
    spark-shell --conf spark.eventLog.dir=hdfs://dbmtimehadoop/tmp/spark2 --jars $HADOOP_HOME/share/hadoop/common/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar

3.spark-sql提交任务到spark的两种方式:

  • 本地模式:
    $ spark-sql --master local

  • yarn模式
    $ spark-sql --master yarn
    //启动spark-sql时指定eventLog的位置等其他配置(可以通过--conf 来配置修改默认的多个参数)。
    $ spark-sql --master yarn --conf spark.eventLog.dir=hdfs://dbmtimehadoop/tmp/spark2 --conf spark.sql.hive.metastore.version=2.1.0

posted @   丹江湖畔养蜂子赵大爹  阅读(18911)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示