文章目录
前言
本篇文章涉及到spark的几种部署模式,需要涉及hadoop集群、如果还没有搭建hadoop集群的兄弟们可以先去搭建hadoop集群 hadoop完全分布式集群搭建 以及一些脚本的编写
虚拟机情况:hadoop02 hadoop03 hadoop04三台作为部署机器
spark版本:spark-3.0.0-bin-hadoop3.2.tgz (注意spark版本后hadoop版本要和自己的hadoop集群版本对应)
一、Spark运行环境
1.1、spark运行环境概述
先贴个官网介绍截图:
Spark 可以在 Hadoop、Apache Mesos、Kubernetes、独立或云端运行。它可以访问不同的数据源。
可以在EC2、Hadoop YARN、Mesos或Kubernetes上使用其独立集群模式运行 Spark 。访问HDFS、 Alluxio、 Apache Cassandra、 Apache HBase、 Apache Hive和数百个其他数据源中的数据。
Spark 作为一个数据处理框架和计算引擎,被设计在所有常见的集群环境中运行, 在国内工作中主流的环境为 Yarn,不过逐渐容器式环境也慢慢流行起来。接下来我们就学习在不同的运行环境下如何部署Spark
1.2、local模式
所谓的 Local 模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等
1.2.1、上传spark压缩文件并解压
解压改名
#解压
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module
#改名
mv spark-3.0.0-bin-hadoop3.2.tgz spark-local
1.2.2、启动local环境
【1】进入解压后的spark目录,执行 cd /opt/module/spark-local
bin/spark-shell
【2】启动成功后,在web端查看 http://hadoop02:4040
【3】run 一个官方实例
bin/run-example SparkPi 10
【3】退出本地模式
ctrl+c 或者输入 :quit
1.2.3、命令行工具 (wordcount小测试)
使用spark实现wordcount
准备数据
在spark-local/data目录下新建word.txt文件填入数据
hello spark hello spark hello flink flink hadoop
开启本地模式执行命令
sc.textFile("file:opt/module/spark-local/data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect