16-Linux部署Spark环境

Linux部署Spark环境

注意

本小节的操作,基于:大数据集群(Hadoop生态)安装部署环节中所构建的Hadoop集群

如果没有Hadoop集群,请参阅前置内容,部署好环境。

参考文章:

14-Linux部署Hadoop集群:http://t.csdnimg.cn/ptHa3

简介

Spark是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。

Spark在大数据体系是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。

在大数据领域广泛应用,是目前世界上使用最多的大数据分布式计算引擎。

我们将基于前面构建的Hadoop集群,部署Spark Standalone集群。

Spark官网:https://spark.apache.org/

安装

  1. 【node1执行】下载并解压

    • 下载
    shell 复制代码
    wget --no-check-certificate https://archive.apache.org/dist/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz
    • 解压
    shell 复制代码
    tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz -C /export/server/
    • 软连接
    shell 复制代码
    ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark
  2. 【node1执行】修改配置文件名称

    shell 复制代码
    # 改名
    cd /export/server/spark/conf
    mv spark-env.sh.template spark-env.sh
    mv slaves.template slaves
  3. 【node1执行】修改配置文件,spark-env.sh

    使用vim编辑配置文件

    shell 复制代码
    vim spark-env.sh

    复制下面的全部内容到spark-env.sh

    shell 复制代码
    ## 设置JAVA安装目录
    JAVA_HOME=/export/server/jdk
    
    ## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
    HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop
    YARN_CONF_DIR=/export/server/hadoop/etc/hadoop
    
    ## 指定spark老大Master的IP和提交任务的通信端口
    export SPARK_MASTER_HOST=node1
    export SPARK_MASTER_PORT=7077
    
    SPARK_MASTER_WEBUI_PORT=8080
    SPARK_WORKER_CORES=1
    SPARK_WORKER_MEMORY=1g
  4. 【node1执行】修改配置文件,slaves

    使用vim操作slaves文件

    shell 复制代码
    vim slaves

    输入下面内容

    shell 复制代码
    node1
    node2
    node3
  5. 【node1执行】分发

    进入/export/server

    shell 复制代码
    cd /export/server

    分发spark-2.4.5-bin-hadoop2.7文件到node2、node3

    shell 复制代码
    scp -r spark-2.4.5-bin-hadoop2.7 node2:$PWD
    scp -r spark-2.4.5-bin-hadoop2.7 node3:$PWD
  6. 【node2、node3执行】设置软链接

    shell 复制代码
    ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark
  7. 【node1执行】启动Spark集群

    shell 复制代码
    /export/server/spark/sbin/start-all.sh
    
    # 如需停止,可以
    /export/server/spark/sbin/stop-all.sh

    使用jps查看进程

    shell 复制代码
    [root@node1 server]# jps
    6561 Jps
    2629 NodeManager
    3014 WebAppProxyServer
    6423 Master
    1752 NameNode
    5081 HRegionServer
    1898 DataNode
    4140 QuorumPeerMain
    2477 ResourceManager
    4989 HMaster
    2222 SecondaryNameNode
    6494 Worker
    [root@node1 server]# ssh node2
    Last login: Thu Feb 29 09:29:52 2024 from node1
    [root@node2 ~]# jps
    2369 HRegionServer
    3186 Jps
    1508 QuorumPeerMain
    1621 DataNode
    1735 NodeManager
    3113 Worker
    [root@node2 ~]# 

    node1有HMaster和Worker,node2有Worker说明启动成功

  8. 打开Spark监控页面,浏览器打开:http://192.168.149.131:8081

  9. 【node1执行】提交测试任务

    shell 复制代码
    /export/server/spark/bin/spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi /export/server/spark/examples/jars/spark-examples_2.11-2.4.5.jar

    可以看到输出的pi值

    在可视化界面可以看到该进程的信息

    说明Spark部署成功~~~

相关推荐
DFT计算杂谈1 分钟前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HiDev_29 分钟前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling1 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind1 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森1 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
中微极客2 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
XMAIPC_Robot2 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
重生的黑客3 小时前
Linux 进程优先级、切换与调度:从孤儿进程到 O(1) 调度模型
linux·运维·服务器·进程优先级·nice
Urbano3 小时前
夹克与商务单西口袋工序自动化技改研究报告
运维·自动化