:Spark环境搭建-Local

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:Spark环境搭建-Local相关的知识,希望对你有一定的参考价值。

一、课程服务器环境

本次课程使用三台Linux虚拟机服务器来学习, 三台虚拟机的功能分配是:

  • node1: Master(HDFS\\YARN\\Spark) 和 Worker(HDFS\\ YARN\\ Spark)
  • node2: Worker(HDFS\\ YARN\\ Spark)
  • node3: Worker(HDFS\\ YARN\\ Spark) 和 Hive

集群环境的搭建, 同学们有2种选择:

方式1: 自行搭建

同学们可以自行创建三台Linux虚拟机

服务器集群即可, 满足如下要求即可跟着课程操作:

  • 已部署好Hadoop集群(HDFS\\YARN), 要求版本Hadoop3以上
  • JDK 1.8
  • 操作系统CentOS 7 (建议7.6)

方式2: 使用课程中提供的虚拟机

课程资料中提供了3台虚拟机的压缩包, 同学们解压后导入 VMWare即可, 要求:

  • VMWare WorkStation 要求版本 15或更高
  • VMWare的网段设置为 192.168.88.0网段

二、基本原理

本质:启动一个JVM Process进程(一个进程里面有多个线程),执行任务Task

Local模式可以限制模拟Spark集群环境的线程数量, 即Local[N] 或 Local[*]

其中N代表可以使用N个线程,每个线程拥有一个cpucore。如果不指定N , 则默认是1个线程(该线程有1个core)。 通常Cpu有几个Core,就指定几个 线程,最大化利用计算能力.

如果是local[*],则代表 Run Spark locally with as many worker threads as logical cores on your machine.按照Cpu最多的Cores设置线程数。

Local 下的角色分布:

资源管理:

Master: Local进程本身

Worker: Local进程本身

任务执行:

Driver: Local进程本身

Executor:不存在,没有独立的Executor角色, 由Local进程(也就是Driver)内的线程提供计算能力

PS: Driver也算一种特殊的Executor, 只不过多数时候, 我们将Executor当做纯Worker对待, 这样和Driver好区分(一类是管理 一类是工人)

注意: Local模式只能运行一个Spark程序, 如果执行多个Spark程序, 那就是由多个相互独立的Local进程在执行。

三、搭建

搭建操作, 可参考资料提供的部署文档<< spark部署文档.doc >> 中关于Local模式搭建操作

  • 开箱即用:直接启动bin目录下的spark-shell:

/export/server/spark/bin/spark-shell

●运行成功以后,有如下提示信息:

  • sc :SparkContext实例对象:
  • spark :SparkSession实例对象
  • 4040 :Web监控页面端口号

四、测试 - 基于bin/pyspark

bin/pyspark 程序, 可以提供一个 交互式的 Python解释器环境, 在这里面可以用Python语言调用Spark API 进行计算。

示例代码, 将数组内容都+1进行计算:
sc.parallelize([1,2,3,4,5]).map(lambda x: x + 1).collect()

五、测试 - 4040监控端口

每一个Spark程序在运行的时候, 会绑定到Driver所在机器的4040端口上.

如果4040端口被占用, 会顺延到4041 ... 4042...

4040端口是一个WEBUI端口, 可以在浏览器内打开, 输入:服务器ip:4040 即可打开:

打开监控页面后, 可以发现 在程序内仅有一个Driver,因为我们是Local模式, Driver即管理 又 干活.同时, 输入jps

可以看到local模式下的唯一进程存在,这个进程 即是master也是worker。

六、基于bin/spark-shell测试 - 了解(此项需Scala语言操作)

bin/spark-submit程序, 作用: 提交指定的Spark代码到Spark环境中运行

pyspark/spark-shell/spark-submit 对比

以上是关于:Spark环境搭建-Local的主要内容,如果未能解决你的问题,请参考以下文章

Spark-Local模式环境搭建

大数据分析Hadoop + Spark 10分钟搭建Hadoop(伪分布式 )+ Spark(Local模式)环境

spark--环境搭建--ZooKeeper345集群搭建

Hadoop(伪分布式)+Spark(local模式)搭建Hadoop和Spark组合环境

spark--环境搭建--6.Spark1.3.0集群搭建

spark--环境搭建--Hive0.13搭建