当前位置:   article > 正文

spark的指令参数_spark 命令行

spark 命令行

一、spark的指令参数

在spark的bin下有是spark的指令,指令运行时可以指定对用的参数,实现对服务的控制

  1. # 查看指令参数
  2. pyspark --help
  3. # 常用参数的使用
  4. pyspark --master yarn --name yarn_demo --conf 'PYSPARK_PYTHON=/export/server/anaconda3/bin/python3' --conf '其他配置'
  5. --executor-memory 2G --executor-cores 2 --num-executors 3

  1. # 表示应用运行的模式,要么是本地local要么是集群(Standalone、YARN、Mesos)了
  2. --master MASTER_URL
  3. # 本地模式∶local[2] 数字表示可以使用到本地的cpu核心数据量, loacl[*] *表示自动判断
  4. # Standalone集群∶spark∶//xxx∶7077,yyy∶7077
  5. # YARN 集群∶ yarn
  6. # 表示Drive Program运行的地方,也叫做应用部署模式,默认值为client,通常在生成环境中使用cluster
  7. --deploy-mode DEPLOY_MODE
  8. # 表示运行Spark Application的类名称,注意为类的全名称(包含包名)
  9. --class CLASS_NAME
  10. # 表示的是应用运行的名称,通常在应用开发的时候指定
  11. --name NAME
  12. # 表示应用的类所依赖的第三方的Jar包指定路径,通常在本地文件系统中,多个】ar包使用逗号隔开<15
  13. -jars JARS
  14. # 表示应用运行时指定的某些参数配置,http∶//spark.apache.org/docs/2.2.0/configuration.html
  15. # 当value中值有空格组成的时候,使用双引号将key=value引起来
  16. # 可以不用在bashrc写配置可以通过conf配置,每次运行都要指定很麻烦
  17. --conf "PROP=VALUE"
  18. # 第一种方式∶属性的值中没有空格
  19. --conf spark.eventLog.enabled=false
  20. # 第二种方式∶属性的值中有空格,将属性和值统一使用双引号引起来
  21. --conf"spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimestamps"
  22. # Driver相关配置
  23. # 指定Driver Program JVM进程内存大小,默认值为1g
  24. --driver-memory MEM
  25. # 表示Driver 运行CLASS PATH路径,使用不多
  26. --driver-class-path
  27. # Spark standalone with cluster deploy mode∶运行在standalone 中cluster Deploy Mode 默认值为1 cpu核心数据
  28. # 运行在YARN in cluster mode,默认值是1
  29. --driver-cores NUM
  30. # 运行在standalone的 中cluster Deploy Mode下,表示当Driver运行异常失败,可以自己重启
  31. --supervise
  32. # Executor运行所需内存大小
  33. --executor-memory MEM
  34. # Execturo 运行的CPU Cores,默认的情况下,在Standalone集群上为worker节点所有可有的CpuCores,在YARN集群下为1
  35. --executor-cores NUM
  36. # 表示运行在Standalone集群下,所有Executor的CPU Cores,结合--executor-cores计算出Executor个数
  37. --total-executor-cores
  38. # 表示在YARN集群下,Executor的个数,默认值为2
  39. --num-executors
  40. # 表示Executor运行的队列,默认为default队列
  41. --queue QUEUE_NAME
  42. standalone fifo

二、spark-submit提交方式

集群模式提交计算任务的模式

client 客户端(本地)模式

cluster 集群模式

区别在于dirver在哪里运行?

dirver在提交代码的服务器上运行时,就是client模式

dirver有资源调度分配在哪台机器上运行,就是cluster

提交指令

spark-submit  --deploy-mode cluster  代码文件名

  • client
    • 该模式提交时,是在当前服务器上运行dirver,有可能当前服务器资源不足,造成dirver无法运行
    • 不需要给dirver创建container,直接使用本地。默认能使用的资源 内存1G  cpu核心 1个
  • cluster
    • 集群模式提交dirver有rm生成,rm虽然是随机找nm,但是中的是资源充足的nm,可以保证dirver能正常运行
    • applicationmaster和dirver运行在同一台服务器上,使用不同容器资源
  • 使用
spark-submit --master yarn  --deploy-mode cluster  代码文件

三、spark中的名词解释

当spark完成计算后,会产生对应的日志计算信息,在计算信息中显示了计算的流程

流程中涉及Application,job,stage,task的信息

  • Application 代表一个计算程序,当运行一个dirver时就会有一个计算程序,可以指定名称
  • job  计算任务
    • stage  将计算任务划分多个计算部分,每个stage中的任务并行执行  rdd依赖
    • task  以线程的方式执行每个计算部分中的代码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/757120
推荐阅读
相关标签
  

闽ICP备14008679号