Spark系列(一)spark简介及安装配置

这篇具有很好参考价值的文章主要介绍了Spark系列(一)spark简介及安装配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. spark简介:

2. spark特点:

2.1 Speed:速度快

2.2 Easy of Use:易用性

2.3 Generality:通用性

2.4 Runs Everywhere:到处运行

3. Spark的应用场景

4. 环境要求及准备工作

5. spark搭建模式:

5.1 local模式在解压缩安装后

5.2 Standalone模式搭建(基于hdfs文件存储)

5.1.1 首先配置spark环境变量: vim /etc/profiles

5.1.2 编辑spark-env.sh文件

5.1.3  复制并编辑slaves文件

5.1.4  向目标节点(woker)远程下发spark文件

5.1.5  在master上启动所有节点

5.2  基于yarn安装spark集群

5.2.1  配置环境变量

5.2.2  spark-env.sh 添加如下内容(核心)

5.2.3 修改 hadoop yarn 的配置

​6. 基于yarn方式HIVE元数据metastore启动spark

7 . 命令行提交任务参数解析

8. 部署模式对比:

9. spark相关服务端口号


1. spark简介:

什么是Spark:Spark是一个用于大规模数据处理的统一计算引擎

注意:Spark不仅仅可以做类似于MapReduce的离线数据计算,还可以做实时数据计算,并且它还可以实现类似于Hive的SQL计算,等等,所以说它是一个统一的计算引擎

spark里面最重要的一个特性:内存计算

Spark中一个最重要的特性就是基于内存进行计算,从而让它的计算速度可以达到MapReduce的几十倍甚至上百倍

2. spark特点:

2.1 Speed:速度快

由于Spark是基于内存进行计算的,所以它的计算性能理论上可以比MapReduce快100倍
Spark使用最先进的DAG调度器、查询优化器和物理执行引擎,实现了高性能的批处理和流处理。
注意:批处理其实就是离线计算,流处理就是实时计算,只是说法不一样罢了,意思是一样的

2.2 Easy of Use:易用性

  1. 可以使用多种编程语言快速编写应用程序,例如Java、Scala、Python、R和SQL
  2. Spark提供了80多个高阶函数,可以轻松构建Spark任务。

2.3 Generality:通用性

Spark提供了Core、SQL、Streaming、MLlib、GraphX等技术组件,可以一站式地完成大数据领域的离线批处理、SQL交互式查询、流式实时计算,机器学习、图计算等常见的任务
从这可以看出来Spark也是一个具备完整生态圈的技术框架.

2.4 Runs Everywhere:到处运行

你可以在Hadoop YARN、Mesos或Kubernetes上使用Spark集群。
并且可以访问HDFS、Alluxio、Apache Cassandra、Apache HBase、Apache Hive和数百个其它数据源中的数据。

3. Spark的应用场景

Spark主要应用在以下这些应用场景中:

  1. 低延时的海量数据计算需求,这个说的就是针  对Spark core的应用
  2. 低延时SQL交互查询需求,这个说的就是针对Spark SQL的应用
  3. 准实时(秒级)海量数据计算需求,这个说的就是Spark Streaming的应用

之前有一种说法,说Spark将会替代Hadoop,这个说法是错误的,其实它们两个的定位是不一样的,Spark是一个通用的计算引擎,而Hadoop是一个包含HDFS、MapRedcue和YARN的框架,所以说Spark就算替代也只是替代Hadoop中的MapReduce,也不会整个替代Hadoop,因为Spark还需要依赖于Hadoop中的HDFS和YARN。
所以在实际工作中Hadoop会作为一个提供分布式存储和分布式资源管理的角色存在
Spark会在它之上去执行。

4. 环境要求及准备工作

首先要确保基础环境是具备的:

spark版本2.3.4
linux7:三台(hadoop安装的机器,免密时间同步等基本要求)

jdk版本:1.8.xxx 三位小版本以上的(为了兼容scala环境)

获取spark安装包:wget https://archive.apache.org/dist/spark/spark-2.3.4/spark-2.3.4-bin-hadoop2.7.tgz

解压后目录结构:

Spark系列(一)spark简介及安装配置

5. spark搭建模式:

  1. local模式
  2. standalone模式
  3. 基于yarn的spark集群模式【推荐使用】

local 和 standalone 模式必须启动 spark,yarn 模式无需启动 spark

5.1 local模式在解压缩安装后

./bin/spark-shell

Spark系列(一)spark简介及安装配置

可以通过wordcount来测试:

sc.textFile("data/data.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

Spark系列(一)spark简介及安装配置

5.2 Standalone模式搭建(基于hdfs文件存储)

 官方手册:https://spark.apache.org/docs/2.3.4/spark-standalone.html#cluster-launch-scripts

Spark系列(一)spark简介及安装配置

5.1.1 首先配置spark环境变量: vim /etc/profiles

export SPARK=/usr/local/bigdata/spark-2.3.4-bin-hadoop2.7

export PATH=$JAVA_HOME/bin:$PATH:$ZOOKEEPER/bin:$HADOOP/bin:$HADOOP/sbin:$SPARK/bin:$SPARK/sbin

5.1.2 编辑spark-env.sh文件

cp spark-env.sh.template spark-env.sh

设置 spark 的主节点 和 端口;

spark_worker_memory 表示计算时使用的内存,越大越好,spark 是基于内存的计算

export JAVA_HOME=/usr/local/jdk1.8.0

export HADOOP_CONF_DIR=/usr/local/bigdata/hadoop-2.8.5/etc/hadoop/
export SPARK_MASTER_HOST=node1   # 每台master改成自己的主机名
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=2g

5.1.3  复制并编辑slaves文件

worker进程启动的目标机器

node2
node3

5.1.4  向目标节点(woker)远程下发spark文件

scp -r spark-2.3.4-bin-hadoop2.7 node2:`pwd`
scp -r spark-2.3.4-bin-hadoop2.7 node3:`pwd`

5.1.5  在master上启动所有节点

Spark系列(一)spark简介及安装配置

 http://node1:8080Spark系列(一)spark简介及安装配置

5.2  基于yarn安装spark集群

spark on yarn 模式只需在 hadoop 集群的任一节点安装 spark 即可,不需要 spark 集群;

因为 spark 应用提交到 yarn 后,yarn 负责集群资源调度。

spark 安装参照 Standalone 模式,大致如下:

5.2.1  配置环境变量

5.2.2  spark-env.sh 添加如下内容(核心)

YARN_CONF_DIR=/usr/local/bigdata/hadoop-2.8.5/etc/hadoop/

5.2.3 修改 hadoop yarn 的配置

修改 yarn-site.xml,添加如下内容:

不配置这步可能报错,特别是分配内存较小时,如虚拟机情况下。

<!-- spark 部署到 yarn 上需要这两个配置 --> 
<!-- 是否启动一个线程检查每个任务正在使用的物理内存,如果超出分配值,则直接杀掉该任务,默认为 true -->
<property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
 </property>
 
<!-- 是否启动一个线程检查每个任务正在试用的虚拟内存,如果超出分配值,则直接杀掉该任务,默认为 true -->
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
 </property> 
<!-- spark 部署到 yarn 上需要这两个配置 -->

操作 yarn 模式

spark-shell --master yarn-client    # 这种方式在 spark2.x 中被废弃,替代命令为下面这句
spark-shell --master yarn --deploy-mode client

yarn 模式 不在 spark UI 上监控,而是在 hadoop UI 上,地址为 http://node1:8088

5.2.4  wordcount测试

# 使用spark-shell的方式启动spark
#使用wordcount 测试下功能
./spark-shell --master yarn
sc.textFile("hdfs://node1:9000/sparktest/data.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect().foreach(println)

Spark系列(一)spark简介及安装配置

Spark系列(一)spark简介及安装配置

6. 基于yarn方式HIVE元数据metastore启动spark

spark on hive sparksql

 在spark的conf目录下增加hive-site.xml文件

<configuration>
   <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node3:9083</value>
   </property>
</configuration>

启动后可以直接读到元数据

Spark系列(一)spark简介及安装配置

7 . 命令行提交任务参数解析

参数

解释

可选值举例

--class

Spark 程序中包含主函数的类

--master

Spark 程序运行的模式(环境)

模式:local[*]spark://nameNode:7077

Yarn

--executor-memory 1G

指定每个 executor 可用内存为 1G

符合集群内存配置即可,具体情况具体分析。

--total-executor-cores 2

指定所有executor 使用的cpu 核数

为 2 个

--executor-cores

指定每个executor 使用的cpu 核数

application-jar

打包好的应用 jar,包含依赖。这

个 URL 在集群中全局可见。 比如 hdfs:// 共享存储系统,如果是

file:// path , 那么所有的节点的

path 都包含同样的 jar

application-arguments 传给 main()方法的参数

提交到本地和集群的示例

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./examples/jars/spark-examples_2.12-3.0.0.jar 10
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop11:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar  10
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \
./examples/jars/spark-examples_2.12-3.0.0.jar 10

8. 部署模式对比:

模式

Spark 安装机器数

需启动的进程

所属者

应用场景

Local

1

Spark

测试

Standalone

3

Master Worker

Spark

单独部署

Yarn

1

Yarn 及 HDFS

Hadoop

混合部署文章来源地址https://www.toymoban.com/news/detail-408372.html

9. spark相关服务端口号

  • Spark 查看当前 Spark-shell 运行任务情况端口号:4040(计算)
  • Spark Master 内部通信服务端口号:7077
  • Standalone 模式下,Spark Master Web 端口号:8080(资源)
  • Spark 历史服务器端口号:18080
  • Hadoop YARN 任务运行情况查看端口号:8088

到了这里,关于Spark系列(一)spark简介及安装配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spark】Spark运行时产生的临时目录的问题

    今日发现下游用户spark 任务在我们的大数据集群上的 client 节点 /tmp 目录下产生了60G大量的临时文件。触发监控告警。 Spark 默认使用 /tmp/spark* 作为临时目录以存储一些临时数据, 如果该默认路径所在的磁盘满了, 会出现报错 方法一(推荐): 在 spark-submit 命令行加入如下配置

    2024年02月06日
    浏览(50)
  • Intellij IDEA安装配置Spark与运行

    目录 Scala配置教程 配置Spark运行环境 编写Spark程序  1、包和导入 2、定义对象 3、主函数 4、创建Spark配置和上下文 5、定义输入文件路径 6、单词计数逻辑 7、输出结果 8、完整代码: IDEA配置Scala:教程 添加Spark开发依赖包(快捷键:Ctrl+Alt+Shift+S) 找到Spark安装目录下的jars文

    2024年04月16日
    浏览(50)
  • win 10下spark的安装及配置

    一级标题 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:以下是本篇文章正文内容,下面案例可供参考 在jdk官网中下载与自己电脑相应配置的jdk。 点击电脑的设置——关于——高级系统设置——环境变量中配置jdk环境变量。 点击新建,输入

    2023年04月08日
    浏览(37)
  • (超详细)Spark on Yarn安装配置

    1,前期准备 使用 root 用户完成相关配置,已安装配置Hadoop 及前置环境 2,spark上传解压到master服务器 3,修改环境变量  /etc/profile末尾添加下面代码 4,环境变量生效 5,运行spark-submit --version 显示如下 6,修改saprk-env.sh文件   在.../spark-3.1.1-bin-hadoop3.2/conf目录下,将下面两行

    2024年03月21日
    浏览(44)
  • 基于Linux的Spark安装与环境配置

    因为Spark是基于Hadoop上工作的,所以当我们使用Spark框架时,必须要确保Hadoop能够正常运行: 1.1 启动hadoop 有 BUG ,内容如下: 解决方法:SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder. 1.2 再次启动hadoop 1.3 查看是否成功 2.1 下载scala 官方网址:https://www.scala-lang.org/download/2.

    2024年03月24日
    浏览(41)
  • Spark环境搭建安装及配置详细步骤(保姆教程)

    1 Spark-Local 模式  1.1 解压缩文件  将 spark-2.1.1-bin-hadoop3.2.tgz 文件上传到 Linux 并解压缩,放置在指定位置,路径中。  1.2 启动 Local 环境  1) 进入解压缩后的路径,执行如下指令   2) 启动成功后,可以输入网址进行 Web UI 监控页面访问   1.4 退出本地模式  按键 Ctrl+C 或输入

    2024年02月02日
    浏览(55)
  • 2023_Spark_实验二:IDEA安装及配置

    一、下载安装包 链接:百度网盘 请输入提取码 所在文件夹:大数据必备工具--》开发工具(前端+后端)--》后端 下载文件名称:ideaIU-2019.2.3.exe (喜欢新版本也可安装新版本,新旧版本会存在部分差异) IDEA 安装 第一步,双击 ideaIU-2019.2.3.exe 安装包,出现如下页面,点击图中

    2024年02月10日
    浏览(49)
  • 大数据与云计算——Spark的安装和配置

    Spark的简单介绍: Apache Spark是一个基于内存的分布式计算框架,它提供了高效、强大的数据处理和分析能力。与传统的Hadoop MapReduce相比,Spark的主要优势在于其能够将数据集缓存在内存中,从而大大减少了磁盘I/O操作,提高了数据处理速度。 Spark提供了多种编程接口,包括

    2024年02月05日
    浏览(39)
  • Hive On Spark 概述、安装配置、计算引擎更换、应用、异常解决

    前言: 本篇文章在已经安装 Hadoop 3.3.4 与 Hive 3.1.3 版本的基础上进行,与笔者版本不一致也没有关系,按照步骤来就行了。 如果你不想使用低版本的 Spark(例如: Spark 2.x 系列),请直接跳转到本文目录【重编译源码】。 详情查看我的这篇博客:Hadoop 完全分布式搭建(超详细)

    2024年02月07日
    浏览(39)
  • 深入理解 Spark(一)spark 运行模式简介与启动流程源码分析

    以 standalone-client 为例,运行过程如下: SparkContext 连接到 Master,向 Master 注册并申请资源(CPU Core 和 Memory); Master 根据 SparkContext 的资源申请要求和 Worker 心跳周期内报告的信息决定在哪个 Worker 上分配资源,然后在该 Worker 上获取资源,然后启动 StandaloneExecutorBackend; Stan

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包