Spark基础入门-第二章: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 对比

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值