码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • spark3.0.2搭建教程


    spark3.0.2搭建教程

    spark3.0.2安装教程

    文章目录

    • spark3.0.2安装教程
      • 一、前期准备
      • 二、spark搭建
        • (一)搭建
          • 1、将spark上传到虚拟机上
          • 2、解压安装包
        • (二)、standalone(独立部署)模型
          • 1、修改配置文件
        • (三)、yarn模型
          • 1、修改配置文件
        • (四)、将spark文件分发到hadoop2、hadoop3中
      • 三、开启spark
        • (一)、测试
          • 第一种:standalone模式
          • 第二种:yarn模式

    一、前期准备

    需要提前按照好hadoop集群

    资源下载:

    • spark-3.0.2-bin-hadoop3.2.tgz

    补充:

    • spark各大版本

    二、spark搭建

    主机名hadoop1hadoop2hadoop3
    Master
    worker
    workerworker

    分别有三台主机,主机名为hadoop1、hadoop2、hadoop3

    (一)搭建

    1、将spark上传到虚拟机上

    在CRT中可以输入命令rz将spark-3.0.2-bin-hadoop3.2.tgz上传到/opt/software中

    cd /opt/software
    rz
    
    • 1
    • 2

    /opt/software我用来存放安装包相关文件的

    2、解压安装包

    将文件解压到/opt/module/

     tar -zxvf spark-3.0.2-bin-hadoop3.2.gz -C /opt/module/
    
    • 1

    并将文件名字改为spark

    mv  /opt/module/spark-3.0.2-bin-hadoop3.2 spark
    
    • 1

    (二)、standalone(独立部署)模型

    standalone模式是spark的master-salve的模型,安装规划如下:

    主机名hadoop1hadoop2hadoop3
    Master
    worker
    workerworker
    1、修改配置文件
    • 进入到解压文件路径下conf中

      • 修改slaves.template为slaves
      • 修改spark-env.sh.template 为spark-env.sh
      • 修改spark-defaults.conf.template为spark-defaults.conf
      mv slaves.template slaves
      mv spark-env.sh.template spark-env.sh
      mv spark-defaults.conf.template spark-defaults.conf
      
      • 1
      • 2
      • 3

      上面都是模板文件,因此需要修改

    • 在slaves中,中添加worker节点

      hadoop1
      hadoop2
      hadoop3
      
      • 1
      • 2
      • 3

      在这里插入图片描述

    • 在spark-env.sh中,添加JAVA_HOME的路径,Master节点

      export JAVA_HOME=/opt/module/jdk1.8.0_212
      SPARK_MASTER_HOST=hadoop1
      SPARK_MASTER_PORT=7077                        
      
      • 1
      • 2
      • 3

      注意:JAVA_HOME是自己安装jdk的路径;7077端口相当于hadoop3版本内部通信的8020、9000、9820端口

    • 配置历史服务器来记录任务运行情况

      • 在spark-defaults.conf中添加或者修改

        spark.eventLog.enabled           true
        spark.eventLog.dir               hdfs://hadoop1:8020/directory
        spark.yarn.historyServer.address=hadoop1:18080
        spark.history.ui.port=18080
        
        • 1
        • 2
        • 3
        • 4

        spark.eventLog.dir是指存储日志数据的位置 ,将数据存到hadoop2上

        注意:需要在hdfs上创建一个directory文件夹来存储,可以使用下面命令

        hadoop fs -mkdir /directory

      • 还需要在spark-env.sh添加历史服务器相关的配置信息

        export SPARK_HISTORY_OPTS="
        -Dspark.history.ui.port=18080
        -Dspark.history.fs.logDirectory=hdfs://hadoop1:8020/directory
        -Dspark.history.retainedApplications=30"
        
        • 1
        • 2
        • 3
        • 4

    (三)、yarn模型

    yarn模型是利用yarn来进行资源调度

    1、修改配置文件

    和standalone模型的配置有相似的地方

    • 在slaves中添加worker的文件,和上面内容一样

    • 在spark-env.sh中,添加JAVA_HOME的路径和hadoop集群的配置文件路径

      export JAVA_HOME=/opt/module/jdk1.8.0_212
      YARN_CONF_DIR=/opt/hadoop-3.1.3/etc/hadoop                  
      
      • 1
      • 2

      注意:JAVA_HOME是自己安装jdk的路径,YARN_CONF_DIR是hadoop配置文件的路径

    • 配置历史服务器来记录任务运行情况,和standalone模型的配置一样

    • 需要去在hadoop的yarn-site.xml中添加

      
      
          Whether physical memory limits will be enforced for
          containers.
          yarn.nodemanager.pmem-check-enabled
          false
       
      
      
      yarn.nodemanager.vmem-check-enabled
      false
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12

      注意:修改后,将修改的文件分发到其他的hadoop中,并重启启动hadoop集群

    因此可以得知,yarn模型基于standalone模型下,只需要在spark-env.sh 只需要添加YARN_CONF_DIR即可

    (四)、将spark文件分发到hadoop2、hadoop3中

    rsync -av /opt/module/spark 用户名@ip地址:/opt/module/
    
    • 1

    三、开启spark

    进入的spark安装目录中,执行下面命令开spark集群和hadoop集群

    sbin/start-all.sh
    
    • 1

    需要自己另外开启hadoop集群

    可以通过jps命令查看spark是否启动,分别会在hadoop1、hadoop2、hadoop3中显示以下进程

    hadoop1hadoop2hadoop3
    Master
    worker
    workerworker

    (一)、测试

    需要进入到spark的安装目录中,使用spark的官方案例:计算π的值

    第一种:standalone模式
    bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master spark://hadoop1:7077 \
    ./examples/jars/spark-examples_2.12-3.0.2.jar \
    10
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    第二种:yarn模式
    bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --master yarn
    ./examples/jars/spark-examples_2.12-3.0.2.jar \
    10
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    补充知识:

    • 为了便于对spark和scala的学习,在jupyter添加内核来编写。
      jupyter中安装scala和spark内核详细教程
  • 相关阅读:
    初步搭建一个自己的对象存储服务---Minio
    行业洞察 | AI贩卖的焦虑,我们该买单吗?
    海藻酸钠-聚乙二醇-四嗪 TZ-PEG-alginate 四嗪修饰海藻酸钠 海藻酸钠-PEG-四嗪
    Educational Codeforces Round 136 (Rated for Div. 2)(A~D)
    【Java】面向对象的特性之一:多态性
    java使用多线程并行处理逻辑后合并处理结果(Async注解方式)
    Linux 使用 atop 监控工具
    springboot验证码的生成与验证
    【图像去噪】基于非线性扩散PM算法实现图像去噪附matlab代码
    HBase2.x(四)HBase API 创建连接
  • 原文地址:https://blog.csdn.net/Andy86666/article/details/128010302
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号