Spark Local模式的基本原理及部署

基本原理

  • Local模式的本质就是启动一个JVM Process进程(里面有多个进程),执行任务Task

    • Local模式可以限制模拟Spark环境的线程数量,即Local[N] 或 Local[*]。
    • N表示N个线程,每个线程拥有一个cpu核,默认为1,通常几个核指定几个线程。
    • 如果是local[*],就是按照CPU最多的cores设置线程数。
  • Local角色分布:

    • 资源管理
      • Master:Local进程本身
      • Worker:Local进程本身
    • 任务执行:
      • Driver:Local进程本身
      • Executor:不存在,没有独立的Executor角色, 由Local进程(也就是Driver)内的线程提供计算能力。

安装部署

  1. 解压安装包
    安装包在此链接下载
tar -zxvf spark-3.2.0-bin-hadoop3.2.tgz -C /export/server/
mv spark-3.2.0-bin-hadoop3.2/ spark-3.2.0
  1. 设置环境变量
  • SPARK_HOME: 表示Spark安装路径在哪里
  • PYSPARK_PYTHON: 表示Spark想运行Python程序, 那么去哪里找python执行器
  • JAVA_HOME: 告知Spark Java在哪里
  • HADOOP_CONF_DIR: 告知Spark Hadoop的配置文件在哪里
  • HADOOP_HOME: 告知Spark Hadoop安装在哪里
vim /etc/profile
#SPARK_HOME
export HADOOP_HOME=/export/server/spark-3.2.0
#pyspark虚拟环境
export PYSPARK_PYTHON=/export/server/anaconda3/envs/pyspark/bin/python3.8
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

source /etc/profile
#同样也需要在~/.bashrc上配置
  1. 启动pyspark

cd /export/server/spark-3.2.0/bin
./pyspark
#所有进程执行
./pyspark --master local[*]

在这里插入图片描述
4. 测试数据

sc.parallelize([1,2,3,4,5]).map(lambda x: 2 * x + 1).collect()
#输出
[3, 5, 7, 9, 11]
  1. 查看运行监控页面
    输入地址:http://node1(主机的ip):4040

在这里插入图片描述
在这里插入图片描述
6. Scala环境测试

./spark-shell
sc.parallelize(Array(1,2,3,4,5)).map(x => 2*x + 1).collect()
#输出
res0: Array[Int] = Array(3, 5, 7, 9, 11)

在这里插入图片描述
7. spark-submit提交代码测试

 ./spark-submit --master local[*] /export/server/spark-3.2.0/examples/src/main/python/pi.py 10

在这里插入图片描述

总结

  • Spark 4040端口表示spark的 job执行监控页面。如果在local模式下同时开启spark-shell和spark-shell两个环境,后面开启spark会绑定在4041端口上(端口顺延)。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值