十二、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三种方式搭建集群完毕。


相关文章
|
1月前
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
116 3
|
27天前
|
资源调度 关系型数据库 MySQL
【Flink on YARN + CDC 3.0】神操作!看完这篇教程,你也能成为数据流处理高手!从零开始,一步步教会你在Flink on YARN模式下如何配置Debezium CDC 3.0,让你的数据库变更数据瞬间飞起来!
【8月更文挑战第15天】随着Apache Flink的普及,企业广泛采用Flink on YARN部署流处理应用,高效利用集群资源。变更数据捕获(CDC)工具在现代数据栈中至关重要,能实时捕捉数据库变化并转发给下游系统处理。本文以Flink on YARN为例,介绍如何在Debezium CDC 3.0中配置MySQL连接器,实现数据流处理。首先确保YARN上已部署Flink集群,接着安装Debezium MySQL连接器并配置Kafka Connect。最后,创建Flink任务消费变更事件并提交任务到Flink集群。通过这些步骤,可以构建出从数据库变更到实时处理的无缝数据管道。
54 2
|
8天前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
23 0
|
2月前
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
机器学习/深度学习 分布式计算 算法
Spark快速大数据分析PDF下载读书分享推荐
《Spark快速大数据分析》适合初学者,聚焦Spark实用技巧,同时深入核心概念。作者团队来自Databricks,书中详述Spark 3.0新特性,结合机器学习展示大数据分析。Spark是大数据分析的首选工具,本书助你驾驭这一利器。[PDF下载链接][1]。 ![Spark Book Cover][2] [1]: https://zhangfeidezhu.com/?p=345 [2]: https://i-blog.csdnimg.cn/direct/6b851489ad1944548602766ea9d62136.png#pic_center
106 1
Spark快速大数据分析PDF下载读书分享推荐
|
11天前
|
机器学习/深度学习 分布式计算 大数据
Spark 适合解决多种类型的大数据处理问题
【9月更文挑战第1天】Spark 适合解决多种类型的大数据处理问题
24 3
|
14天前
|
分布式计算 大数据 Apache
跨越界限:当.NET遇上Apache Spark,大数据世界的新篇章如何谱写?
【8月更文挑战第28天】随着信息时代的发展,大数据已成为推动企业决策、科研与技术创新的关键力量。Apache Spark凭借其卓越的分布式计算能力和多功能数据处理特性,在大数据领域占据重要地位。然而,对于.NET开发者而言,如何在Spark生态中发挥自身优势成为一个新课题。为此,微软与Apache Spark社区共同推出了.NET for Apache Spark,使开发者能用C#、F#等语言编写Spark应用,不仅保留了Spark的强大功能,还融合了.NET的强类型系统、丰富库支持及良好跨平台能力,极大地降低了学习门槛并拓展了.NET的应用范围。
33 3
|
20天前
|
分布式计算 大数据 数据处理
Apache Spark的应用与优势:解锁大数据处理的无限潜能
【8月更文挑战第23天】Apache Spark以其卓越的性能、易用性、通用性、弹性与可扩展性以及丰富的生态系统,在大数据处理领域展现出了强大的竞争力和广泛的应用前景。随着大数据技术的不断发展和普及,Spark必将成为企业实现数字化转型和业务创新的重要工具。未来,我们有理由相信,Spark将继续引领大数据处理技术的发展潮流,为企业创造更大的价值。
|
11天前
|
Java Spring API
Spring框架与GraphQL的史诗级碰撞:颠覆传统,重塑API开发的未来传奇!
【8月更文挑战第31天】《Spring框架与GraphQL:构建现代API》介绍了如何结合Spring框架与GraphQL构建高效、灵活的API。首先通过引入`spring-boot-starter-data-graphql`等依赖支持GraphQL,然后定义查询和类型,利用`@GraphQLQuery`等注解实现具体功能。Spring的依赖注入和事务管理进一步增强了GraphQL服务的能力。示例展示了从查询到突变的具体实现,证明了Spring与GraphQL结合的强大潜力,适合现代API设计与开发。
28 0
|
3月前
|
存储 分布式计算 Hadoop
Spark和Hadoop都是大数据处理领域的重要工具
【6月更文挑战第17天】Spark和Hadoop都是大数据处理领域的重要工具
161 59