文章目录

  • Spark运行环境
  • Linux环境下运行本地Spark
  • Standalone 模式
  • Yarn模式
  • K8S & Mesos 模式
  • Windows 模式


Spark运行环境

  • Spark 作为一个数据处理框架和计算引擎,被设计在所有常见的集群环境中运行, 在国内工作中主流的环境为 Yarn,不过逐渐容器式环境也慢慢流行起来。接下来看看不同环境运行的spark

Linux环境下运行本地Spark

  • 所谓的 Local 模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等,之前在 IDEA 中运行代码的环境我们称之为开发环境,不太一样。
  • 第一步 ,将spark-3.0.0-bin-hadoop3.2.tgz 文件上传到你对应的linux,具体操作可以上网查,也可以去看我hadoop专栏里第一篇,一般上传都是用xshell,通过命令tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module 解压。
  • 第二步,进入到指定压缩路径,然后这里可以使用命令bin/spark-shell启动spark
  • 第三步,在data中创建一个word.txt,然后通过语句sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect来就算文件中的单词

Standalone 模式

  • local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的集群中去执行,这里我们来看看只使用 Spark 自身节点运行的集群模式,也就是我们所谓的独立部署(Standalone)模式。Spark 的 Standalone 模式体现了经典的 master-slave 模式。
  1. 解压缩文件
  • 将 spark-3.0.0-bin-hadoop3.2.tgz 文件上传到 Linux 并解压缩在指定位置
  1. 修改配置文件
  • 进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves
  • 第一种方法就是使用命令:mv slaves.template slaves
  • 第二种方法就是使用xftp更改
  • 修改 slaves 文件,添加 work 节点
  • 修改 spark-env.sh.template 文件名为 spark-env.sh
  • 第一种方法就是使用命令:mv spark-env.sh.template spark-env.sh
  • 第二种方法就是使用xftp更改
  • 修改 spark-env.sh 文件,添加 JAVA_HOME 环境变量和集群对应的 master 节点
  • 注意:7077 端口,相当于 hadoop3 内部通信的 8020 端口,此处的端口需要确认自己的 Hadoop
    配置
  • 分发目录:xsync 目录
  1. 启动集群:sbin/start-all.sh
  2. spark的部署 spark运行_big data

  3. 查看三台服务器是否已经启动:
  4. spark的部署 spark运行_spark_02


  5. spark的部署 spark运行_big data_03


  6. spark的部署 spark运行_big data_04

  7. 可以在网站上观看资源webUI界面:http://hadoop102:8080
  8. spark的部署 spark运行_hadoop_05

  9. 配置成功之后,就可以测试一下,使用命令bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master spark://linux1:7077 \ ./examples/jars/spark-examples_2.12-3.0.0.jar \ 10
  10. spark的部署 spark运行_spark的部署_06

  11. 下面来说一下,上面语句提交任务参数说明
  12. spark的部署 spark运行_big data_07


  13. spark的部署 spark运行_spark_08

  14. 配置历史服务
  • 由于spark-shell停止掉后,集群监控 linux1:4040 页面就看不到历史任务的运行情况,所以开发时都配置历史服务器记录任务运行情况。
  • 修改 spark-defaults.conf.template 文件名为 spark-defaults.conf
  • mv spark-defaults.conf.template spark-defaults.conf
  • 修改 spark-default.conf 文件,配置日志存储路径
  • 注意:需要启动 hadoop 集群,HDFS 上的 directory 目录需要提前存在。
  • 修改 spark-env.sh 文件, 添加日志配置
  • 分发配置文件:xsync conf
  • 重新启动集群和历史服务:
  • 重新执行任务
  • 查看历史服务:http://linux1:18080
  1. 配置高可用(HA)

Yarn模式

K8S & Mesos 模式

Windows 模式