IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark-Shell 及 Spark-Submit -> 正文阅读

[大数据]Spark-Shell 及 Spark-Submit

Spark-Shell

说明

spark-shell 是 Spark 自带的交互式 Shell 程序,方便用户进行交互式编程,用户可以在该命令行下可以用 scala 编写 spark 程序,适合学习测试时使用

操作命令

# 直接启动,默认 --master local[*]
spark-shell

# 在本地模拟 N 个线程来运行当前任务
spark-shell --master local[N]

# 使用当前机器上所有可用的资源运行当前的任务
spark-shell --master local[*]

# 在集群上运行当前的任务
spark-shell --master spark://node01:7077,node02:7077

Spark-Submit

说明

apache.org

spark-submit 命令用来帮我们提交 jar 包给 Spark 集群/YARN ,让 Spark 集群/YARN 去执行

# 查看帮助
SPARK_HOME=/opt/server/spark
${SPARK_HOME}/bin/spark-submit --help

操作命令

① 在本地执行任务

SPARK_HOME=/opt/server/spark
${SPARK_HOME}/bin/spark-submit \
--master local[2] \
--class org.apache.spark.examples.SparkPi \
${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \
10

② 在集群执行任务

SPARK_HOME=/opt/server/spark
${SPARK_HOME}/bin/spark-submit \
--master spark://node1:7077 \
--class org.apache.spark.examples.SparkPi \
${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \
10
SPARK_HOME=/opt/server/spark
${SPARK_HOME}/bin/spark-submit \
--master spark://node1:7077,node2:7077 \ 
--class org.apache.spark.examples.SparkPi \
${SPARK_HOME}/examples/jars/spark-examples_2.11-2.4.5.jar \
10

常用参数

① 基本参数

# 表示应用运行的模式:本地(Local)、集群(Standalone、YARN、Mesos)
--master 

# 在本地 2 个线程来运行当前任务
--master local[2]

# 在 Standalone 集群运行任务
--master spark://node1:7077,node2:7077

# 在 Yarn 集群运行任务
--master yarn

# Driver Program 运行的地方,即应用部署模式,默认为 client,运行在集群则使用 cluster
--deploy-mode cluster

# 表示运行 Spark Application 的类名称
--class org.apache.spark.examples.SparkPi

# 应用运行的名称
--name NAME

# 表示应用的类所依赖的第三方的 JAR 包路径,通常在本地文件系统中,多个 Jar 包使用逗号隔开
--jars JARS

# 表示应用运行时指定的某些参数配置
--conf PROP=VALUE

# 当 value 中的值有空格组成的时候,使用双引号将 key=value 引起来
--conf "PROP=VALUE"
# 动态加载 Spark Applicaiton 运行时的参数
# 第一种方式:属性的值中没有空格
--conf spark.eventLog.enabled=fasle

# 第二种方式:属性的值中有空格,将属性和值统一使用双引号引起来
--conf "spark.executor.extraJavaOptions=-XX:PrintGCDetails -XX:+PrintGCTimeStamps"

② Driver Program 参数

# 指定 Driver Program JVM 进程内存大小,默认值为 1G
--driver-memory MEM

# 表示 Driver 运行 CLASS PATH 路径,使用不多
--driver-class-path

# Standalone 模式中的 --deploy-mode cluster 时默认值为 1
--driver-cores NUM

# Yarn 模式中  --deploy-mode cluster 时默认值为 1
--driver-cores NUM

# Standalone --deploy-mode cluster 时,当 Driver 运行异常失败,可以自己重启
--supervise

③ Executor 参数

# Executor 运行时所需内存大小
--executor-memory MEM
--executor-memory 512m

# Executor 运行的 CPU Cores,默认的情况下,在 Standalone 集群上为 Worker 几点所有可有的 CpuCores,在 YARN 集群下为 1
--executor-cores NUM

# 在 Standalone 集群下,所有的 Executor 的 CPU Cores
--total-executor-cores NUM

# 表示在 YARN 集群下,Executor 的个数,默认值为 2
--num-executors

# 表示 Executor 运行的队列,默认为 default 队列
--queue QUEUE_NAME

示例

本地模式: 8 个线程运行

# 
./bin/spark-submit \
 --class org.apache.spark.examples.SparkPi \
 --master local[8] \
 /path/to/examples.jar \
 100

Standalone 模式:Driver 运行在客户端

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node1:7077 \
--executor-memory 20G \
--total-executor-cores 100 \
/path/to/examples.jar \
1000

Standalone 模式:Driver 运行在集群,Driver 运行异常失败,可以自己重启

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node1:7077 \
--deploy-mode cluster \
--supervise \
--executor-memory 20G \
--total-executor-cores 100 \
/path/to/examples.jar \
1000

Yarn 集群模式

export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \  # can be client for client mode
--executor-memory 20G \
--num-executors 50 \
/path/to/examples.jar \
1000

Standalone 模式:Driver 运行在集群,运行一个 python 程序

./bin/spark-submit \
 --master spark://207.184.161.138:7077 \
 examples/src/main/python/pi.py \
 1000

Mesos集群:Driver 运行在集群上

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master mesos://207.184.161.138:7077 \
--deploy-mode cluster \
--supervise \
--executor-memory 20G \
--total-executor-cores 100 \
http://path/to/examples.jar \
1000

Kubernetes 集群

./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master k8s://xx.yy.zz.ww:443 \
--deploy-mode cluster \
--executor-memory 20G \
--num-executors 50 \
http://path/to/examples.jar \
1000
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:46:21  更:2021-08-18 12:48:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:04:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码