其他模式
K8S & Mesos 模式
Mesos 是Apache 下的开源分布式资源管理框架,它被称为是分布式系统的内核,在Twitter 得到广泛使用,管理着 Twitter 超过 30,0000 台服务器上的应用部署,但是在国内,依然使用着传统的Hadoop 大数据框架,所以国内使用 Mesos 框架的并不多,但是原理其实都差不多,
这里我们就不做过多讲解了。
容器化部署是目前业界很流行的一项技术,基于Docker 镜像运行能够让用户更加方便地对应用进行管理和运维。容器管理工具中最为流行的就是Kubernetes(k8s),而 Spark 也在最近的版本中支持了k8s 部署模式。这里我们也不做过多的讲解。给个链接大家自己感受一下:
https://spark.apache.org/docs/latest/running-on-kubernetes.html
Windows 模式
在同学们自己学习时,每次都需要启动虚拟机,启动集群,这是一个比较繁琐的过程, 并且会占大量的系统资源,导致系统执行变慢,不仅仅影响学习效果,也影响学习进度, Spark 非常暖心地提供了可以在windows 系统下启动本地集群的方式,这样,在不使用虚拟机的情况下,也能学习 Spark 的基本使用
在后续的教学中,为了能够给同学们更加流畅的教学效果和教学体验,
我们一般情况下都会采用windows 系统的集群来学习 Spark。
》1 解压缩文件
将文件 spark-3.0.0-bin-hadoop3.2.tgz 解压缩到无中文无空格的路径中
》2 启动本地环境
1)执行解压缩文件路径下 bin 目录中的 spark-shell.cmd 文件,启动 Spark 本地环境
2)在 bin 目录中创建 input 目录,并添加word.txt 文件, 在命令行中输入脚本代码
sc.textFile("input/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
》3 命令行提交应用
在 DOS 命令行窗口中执行提交指令
spark-submit.cmd --class org.apache.spark.examples.SparkPi --master local[2] ./examples/jars/spark-examples_2.12-3.0.0.jar 10
部署模式对比
端口号
Spark 查看当前 Spark-shell 运行任务情况端口号:4040(计算)
Spark Master 内部通信服务端口号:7077
Standalone 模式下,Spark Master Web 端口号:8080(资源)
Spark 历史服务器端口号:18080
Hadoop YARN 任务运行情况查看端口号:8088