栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

spark的部署模式有哪几种(spark的四种部署模式)

spark的部署模式有哪几种(spark的四种部署模式)

1.jdk

2.ScalaSDK只需要在windows安装即可

3.Spark安装包

http://spark.apache.org/downloads.html

直接使用资料中的spark-2.4.6-bin-hadoop2.7.tgz

2.2原理

在本地使用多线程模拟Spark集群的各个角色

2.3操作

1.上传解压安装包

上传Spark压缩包到/home/hadoop目录

spark-2.4.6-bin-hadoop2.7.tgz

解压缩Spark到/usr/local目录,并重命名为spark,使用以下命令:

sudo tar -xvf spark-2.4.6-bin-hadoop2.7.tgz -C /usr/local

sudo mv /usr/local/spark-2.4.6-bin-hadoop2.7/ /usr/local/spark

2.授权当前用户hadoop拥有spark目录的所有者权限,使用以下命令:

sudo chown -R hadoop /usr/local/spark

3.改名

把spark-2.4.6-bin-hadoop2.7.tgz改为spark

    编辑环境变量,使用以下命令:

vim /home/hadoop/.bashrc
5.查看目录结构:其中各个目录含义如下:
bin 
可执行脚本
conf
配置文件
data
示例程序使用数据
examples 示例程序
jars
依赖jar包
python pythonAPI
sbin
集群管理命令
yarn
整合yarn需要的东西

2.4测试

2.3.2  以Local模式运行程序

执行Spark程序需要使用spark-submit脚本,它的一些常用选项如下表所示:

表2-2 spark-submit脚本的常用选项

选项

描述

--master

MASTER环境变量,决定程序的执行模式,默认是local

--deploy-mode

设置主程序的启动位置,cluster(集群)或者client(本地,默认的)

--class

程序的入口类

--name

程序的名字

--num-executors

执行器个数,仅在Yarn模式下使用

--executor-cores

为每个执行器分配的CPU核心数,仅在Standalone或Yarn模式下使用

--total-executor-cores

为所有执行器分配的总CPU核心数,仅在Standalone或Mesos模式下使用

--executor-memory

为每个执行器分配的内存大小,默认是1G

application-jar

程序文件

application-arguments

程序参数

Spark内置了许多演示程序,现在我们就以SparkPi(圆周率估算)程序为例,来说明如何以Local模型运行程序。执行以下命令:

spark-submit /usr/local/spark/examples/src/main/python/pi.py 10

你会在一大堆的日志信息的最后几行中,找到计算出的圆周率,如下图所示:

图2-4 SparkPi程序运行结果

图2-4 SparkPi程序运行结果

需要注意的计算出的圆周率是一个近似值,多次执行得到的结果可能不一致。命令中最后一个数字10决定了算法的迭代次数,数字越大,迭代次数越多,得到结果越准确。

在这个命令中/usr/local/spark/examples/src/main/python/pi.py是application-jar,即我们的程序文件。数字10是application-arguments,即我们的程序参数。

在这个命令中我们没有设置--master,那么默认就是以Local模式运行。如果我们想对Local模式进行更进一步的配置,比如使用5个线程运行SparkPi程序,可以使用以下命令:

spark-submit --master local[5] /usr/local/spark/examples/src/main/python/pi.py 1

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号