码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    • 2
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 启动pyspark
    
    cd /export/server/spark-3.2.0/bin
    ./pyspark
    #所有进程执行
    ./pyspark --master local[*]
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    sc.parallelize([1,2,3,4,5]).map(lambda x: 2 * x + 1).collect()
    #输出
    [3, 5, 7, 9, 11]
    
    • 1
    • 2
    • 3
    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)
    
    • 1
    • 2
    • 3
    • 4

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

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

    在这里插入图片描述

    总结

    • Spark 4040端口表示spark的 job执行监控页面。如果在local模式下同时开启spark-shell和spark-shell两个环境,后面开启spark会绑定在4041端口上(端口顺延)。
  • 相关阅读:
    手记系列之二 ----- 关于IDEA的一些使用方法经验
    java与es8实战之四:SpringBoot应用中操作es8(无安全检查)
    实时大数据处理real-time big data processing (RTDP)框架:挑战与解决方案
    Charles抓包web、手机、小程序配置
    HTML5期末考核大作业 基于HTML+CSS+JavaScript沪上美食(9页)
    R语言和RStudio的下载安装(非常简便舒适)
    (40)Verilog实现序列10111【状态机三段式】
    20uec++多人游戏【小球与玩家互动】
    【Python】matplotlib之折线图的各种样式和画法
    赞不绝口!仅靠阿里P9分享的 Redis 工作手册,拿到60W年薪Offer
  • 原文地址:https://blog.csdn.net/sinat_31854967/article/details/127681374
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号