spark环境的搭建

一、spark简介

  1. 什么是spark ?

spark是一个快速、通用、可扩展的分布式计算引擎

  1. spark特点
  • 快速高效:DAG任务调度思想、数据缓存在内存、chackpoint
  • 简介易用:支持 Java、Scala、Python和R等编程语言编写应用程序
  1. spark架构
  • Master:负责接收worker的注册信息和心跳、接收客户端提交的任务、负责资源调度、命令worker启动Executor
  • Worker:负责管理当前节点的资源管理,向Master注册并定期发送心跳,负责启动Executor、并监控Executor的状态
  • Executor :是一个Java进程,负责执行Driver端生成的Task,将Task放入线程中运行。

二、spark环境搭建

流程:
下载 -> 上传 -> 解压 -> 修改配置文件 -> 启动 -> 测试运行

  1. 下载spark安装包,下载地址:spark官网

下载

  1. 传spark安装包到Linux服务器上

  2. 解压spark安装包

tar -zxvf spark-3.2.3-bin-hadoop3.2.tgz -C /opt/../解压到的目录
  1. 进入到spark按照包目录并将conf目录下的spark-env.sh.template重命名为spark-env.sh,再修改
export JAVA_HOME=/usr/local/jdk1.8.0_251/
export SPARK_MASTER_HOST=linux01
  1. 将conf目录下的workers.template重命名为workers并修改,指定Worker的所在节点
linux01
linux02
  1. 将配置好的spark拷贝到其他节点
for i in {2..3}; do scp -r spark-3.2.3-bin-hadoop3.2 node-$i.linux:$PWD; done
  1. 启动Spark集群
  • 在Spark的安装目录执行启动脚本
sbin/start-all.sh
  • 执行jps命令查看Java进程
    jps

在 linux01 上可以看见Master进程,在其他的节点上可以看见到Worker进程

  • 访问Master的web管理界面,端口8080

master

三、本地搭建

spark程序每次都打包上在提交到集群上比较麻烦且不方便调试,Spark还可以进行Local模式运行,方便测试和调试

  1. 创建一个maven项目
  2. 在pom.xml 文件中添加依赖

<dependencies>
    <!-- scala的依赖 -->
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>版本号</version>
    </dependency>

    <!-- spark core 即为spark内核 ,其他高级组件都要依赖spark core -->
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.12</artifactId>
        <version>版本号</version>
    </dependency>

</dependencies>
  1. 创建一个scala目录
    选择scala目录,右键,将目录转成源码包,或者点击maven的刷新按钮
    在这里插入图片描述

  2. 编写spark程序
    本地运行需要加上:

 //Spark程序local模型运行,local[*]是本地运行,并开启多个线程
val conf: SparkConf = new SparkConf()
  .setAppName("WordCount")
  .setMaster("local[*]") //设置为local模式执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值