十二、Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)

简介: 十二、Spark的安装与部署详情(Local模式,Standalone模式,Spank on YARN模式)

Spark环境搭建


Spark的部署方式


       目前Spark支持4种部署方式,分别是Local、Standalone、Spark on Mesos和 Spark on YARN。Local模式是单机模式。Standalone模式即独立模式,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。Spark On Mesos模式是官方推荐的模式。Spark运行在Mesos上会比运行在YARN上更加灵活。Spark On YARN模式是一种很有前景的部署模式。在应用中通常需要根据实际情况(技术路线、人才储备等)决定采用哪种方案。如果仅仅测试Spark Application,可以选择local模式。如果数据量不大,Standalone 是个不错的选择。如果需要统一管理集群资源(Hadoop、Spark等),考虑到兼容性,Yarn是个不错的选择。如果不仅运行了hadoop,spark。还在资源管理上运行了Docker,Mesos更加通用。但是这样维护成本就会增加。


1.Local模式(本地Spark shell)

   

Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的Java 类库。


(1)为方便后续操作这里更改为root用户进行操作。


70.png


(2)通过命令“tar -zxvf scala-2.10.4.tgz -C /home/”,解压安装包到指定的目录/home/下。


71.png


(3)为了后续配置操作方便,在此需要将解压后的文件重命名。


72.png


(4)通过命令“vim /etc/profile”编辑用户环境变量,配置Scala的环境变量。

73.png


(5) 让环境变量立刻生效“source /etc/profile”,并且查看是否安装成功scala。


74.png


(6) 通过命令“tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /home”,解压Spark安装包到指定目录。


75.png


(7) 为了后续配置操作方便,在此需要将解压后的文件重命名。


76.png


(8)通过命令“vim /etc/profile”,配置Spark环境变量。


77.png


(9) 让环境变量立即生效“source /etc/profile”。


78.png


(10)测试运行“spark-shell”命令,查看spark是否成功安装。


79.png


2、 Standalone模式部署


(1)通过命令“cd /home/spark/conf/”,切换到conf/目录中,使用“mv slaves.template slaves”命令重命名,并编辑该配置文件。


1.png


2.png


(2)通过命令cd /home/spark/conf/,切换到conf/目录中,使用vim spark-env.sh命令,编辑该配置文件。如果在conf目录下没有该文件,请使用命令“cp spark-env.sh.template spark-env.sh”,复制模板文件,并重命名为“spark-env.sh”再进行如下配置。


3.png


4.png


(3) 通过命令“scp -r /home/spark/ slave1:/home”,“scp -r /home/spark/ slave2:/home”将配置好的spark安装包发送至slave1和slave2节点。


5.png


6.png


(4)在spark安装路径中运行“sbin/start-all.sh”命令,启动Standalone模式。


7.png


(5) 运行“jps”命令查看Spark启动进程如图所示。如果可以查看到“master”和“Worker”进程,即可说明Spark主节点启动成功。


8.png

9.png


10.png


(6)在master所在机器的虚拟机浏览器地址栏中输入“master:8080”查看网页spark管理页面。


11.png


3、Spark On YARN模式


(1)使用命令 cd /home/hadoop/etc/hadoop进入到hadoop的配置文件目录,使用“vim yarn-site.xml”编辑该文件,在该文件内添加以下内容。


12.png


(2)通过以下命令将yarn-site.xml文件分发至slave1,slave2。


13.png


14.png


(3)进入conf目录,修改spark-env.sh,添加如下配置,如图所示,保存退出。


15.png


(4)完成spark-env.sh的配置后,在Hadoop安装目录/home/hadoop下使用命令 “sbin/start-all.sh”启动Hadoop集群。


16.png


(5)使用命令“spark-shell --master yarn --deploy-mode client”来启动Spark shell。


17.png


(6)在spark安装路径中运行“sbin/start-all.sh”命令,启动spark集群。


18.png


(7)运行“jps”命令查看Spark启动进程,如果可以查看到“master”和“Worker”进程,即可说明Spark主节点启动成功。如图分别对应master,slave1和slave2的进程。


19.png


20.png


21.png


(8)向独立集群管理器提交应用,需要把spark://master:7077作为主节点参数传递给spark-submit命令。可以运行Spark自带的样例程序SparkPi,它的功能是计算得到pi的值。在Linux Shell中执行如图的命令运行SparkPi(jar包可以使用Tab键进行补全),得到如图所示的结果。


22.png

25.png

(9)查看Spark的webUI,在虚拟机浏览器地址栏中输入“master:8088”,查看是否成功上传PI,如图所示。


23.png

24.png


至此,Spark三种方式搭建集群完毕。


相关文章
|
13天前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
41 2
|
12天前
|
分布式计算 资源调度 Hadoop
Spark Standalone与YARN的区别?
【10月更文挑战第5天】随着大数据处理需求的增长,Apache Spark 成为了广泛采用的大数据处理框架。本文详细解析了 Spark Standalone 与 YARN 两种常见部署模式的区别,并通过示例代码展示了如何在不同模式下运行 Spark 应用程序。Standalone 模式自带轻量级集群管理,适合小规模集群或独立部署;YARN 则作为外部资源管理器,能够与 Hadoop 生态系统中的其他应用共享资源,更适合大规模生产环境。文章对比了两者的资源管理、部署灵活性、扩展性和集成能力,帮助读者根据需求选择合适的部署模式。
11 1
|
1月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
34 5
|
13天前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
40 0
|
2月前
|
SQL 分布式计算 监控
|
1月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
49 0
|
1月前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
65 3
YARN(Hadoop操作系统)的架构
|
1月前
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
41 1
使用YARN命令管理Hadoop作业
|
2月前
|
资源调度 分布式计算 算法
【揭秘Yarn调度秘籍】打破资源分配的枷锁,Hadoop Yarn权重调度全攻略!
【8月更文挑战第24天】在大数据处理领域,Hadoop Yarn 是一种关键的作业调度与集群资源管理工具。它支持多种调度器以适应不同需求,默认采用FIFO调度器,但可通过引入基于权重的调度算法来提高资源利用率。该算法根据作业或用户的权重值决定资源分配比例,权重高的可获得更多计算资源,特别适合多用户共享环境。管理员需在Yarn配置文件中启用特定调度器(如CapacityScheduler),并通过设置队列权重来实现资源的动态调整。合理配置权重有助于避免资源浪费,确保集群高效运行,满足不同用户需求。
41 3
|
5月前
|
资源调度 分布式计算 Hadoop
Hadoop Yarn 核心调优参数
这是一个关于测试集群环境的配置说明,包括3台服务器(master, slave1, slave2)运行CentOS 7.5,每台有4核CPU和4GB内存。集群使用Hadoop 3.1.3,JDK1.8。Yarn核心配置涉及调度器选择、ResourceManager线程数、节点检测、逻辑处理器使用、核心转换乘数、NodeManager内存和CPU设置,以及容器的内存和CPU限制。配置完成后,需要重启Hadoop并检查yarn配置。