Spark(五)运行环境(一)

news/2024/9/23 11:23:45/文章来源:https://www.cnblogs.com/shihongpin/p/18426375

Local模式

  • 不需要其他任何节点资源就可以在本地执行Spark代码的环境,一般用于教学,调试,演示等
  • 在IDEA中运行代码的环境称之为开发环境

1、解压缩文件

  • 将spark-3.0.0-bin-hadoop3.2.tgz文件上传到Linux并解压缩,放置在指定位置,路径中不要包含中文或空格
  • 压缩文件放在'/opt/software/',解压缩文件放在'/opt/module/'
[user@hadoop102 software]$ tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/

2、启动Local环境

(1)进入解压缩后的路径,执行如下指令

[user@hadoop102 module]$ cd spark-3.0.0-bin-hadoop3.2/
[user@hadoop102 spark-3.0.0-bin-hadoop3.2]$ bin/spark-shell


(2)启动成功后,可以输入网址进行Web UI监控页面访问

http://192.168.10.102:4040/jobs/

3、命令行工具

  • 在/opt/module/hadoop-3.1.3/路径下有一个SEVENTEEN.txt文件,对该文件进行字符计数
scala> sc.textFile("/opt/module/hadoop-3.1.3/SEVENTEEN.txt").flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_+_).collect
res4: Array[(String, Int)] = Array((are,1), (we,1), (hello,1), (very,1), (you,2), (name,1), (say,1), (meet,1), (to,1), (nice,2), (seventeen,2), (the,1))

4、退出本地模式

  • 按键Ctrl+C或输入Scala指令
:quit

5、提交应用

[user@hadoop102 spark-3.0.0-bin-hadoop3.2]$ bin/spark-submit \
> --class org.apache.spark.examples.SparkPi \
> --master local[2] \
> ./examples/jars/spark-examples_2.12-3.0.0.jar \
> 10
  • --class表示要执行程序的主类,此处可以更换为自己写的应用程序
  • --master local[2]部署模式,默认为本地模式,数字表示分配的虚拟CPU核数量
  • spark-examples_2.12-3.0.0.jar运行的应用类所在的jar包,实际使用时,可以设定为自己打的jar包
  • 数字10表示程序的入口参数,用于设定当前应用的任务数量

Standalone模式

  • 只使用Spark自身节点运行的集群模式,也就是所谓的独立部署(Standalone)模式
  • Spark的Standalone模式体现了经典的master-slave模式
  • 集群规划
虚拟机102 虚拟机103 虚拟机104
Spark Worker Master Worker Worker

1、修改文件配置

(1)进入解压后路径的conf目录,修改slaves.template文件名为slaves

[user@hadoop102 conf]$ mv slaves.template slaves

(2)修改slaves文件,添加work节点

[user@hadoop102 conf]$ vim slaves
hadoop102
hadoop103
hadoop104

(3)修改spark-env.sh.template文件名为spark-env.sh

[user@hadoop102 conf]$ mv spark-env.sh.template spark-env.sh

(4)修改spark-env.sh文件,添加JAVA_HOME环境变量和集群对应的master节点

export JAVA_HOME=/opt/module/jdk1.8.0_212
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077

(5)分发spark-3.0.0-bin-hadoop3.2目录

xsync spark-3.0.0-bin-hadoop3.2/

2、启动集群

(1)执行脚本命令

[user@hadoop102 spark-3.0.0-bin-hadoop3.2]$ sbin/start-all.sh

(2)查看三台服务器运行进程

[user@hadoop102 spark-3.0.0-bin-hadoop3.2]$ jpsall
=============== hadoop102 ===============
6449 Jps
6291 Master
6377 Worker
=============== hadoop103 ===============
4679 Worker
4733 Jps
=============== hadoop104 ===============
7725 Worker
7790 Jps

(3)查看Master资源监控Web UI界面

http://hadoop102:8080/

3、提交应用

[user@hadoop102 spark-3.0.0-bin-hadoop3.2]$ bin/spark-submit \
> --class org.apache.spark.examples.SparkPi \
> --master spark://hadoop102:7077 \
> ./examples/jars/spark-examples_2.12-3.0.0.jar  \
> 10
  • --class表示要执行程序的主类
  • --master spark://hadoop102:7077独立部署模式,连接到Spark集群
  • spark-examples_2.12-3.0.0.jar运行的应用类所在的jar包
  • 数字10表示程序的入口参数,用于设定当前应用的任务数量
  • Web界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/802098.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树上数据结构问题

天天爱跑步 假设现在又一棵树如果一个人要从 \(3\) 跑到 \(5\),那么如果在 \(2\) 点的观察员要满足 \(w[2] = dep[2] - dep[3]\),如果在点 \(4\) 的观察员要满足 \(w[4] = dep[fa[lca]] - dep[3] + dep[lca] - dep[4]\),简单来说就是如果处于 \(i\) 点的观察员可以观察到,那么要…

为什么网站连接数据库失败?

网站连接数据库失败通常是由以下几个主要原因造成的:数据库凭据错误:如果数据库用户名、密码或主机名错误,网站将无法建立数据库连接。请检查wp-config.php文件中的数据库连接信息是否正确。数据库服务器故障:数据库服务器宕机或无法访问也会导致连接失败。检查数据库服务是…

mqtt网关数据接入rabbitmq,缓存离线数据,实现消息保留

应用场景:网关将设备数据发布至mqtt服务器后,数采程序因为重启或者升级等原因,未能接到到离线的订阅消息,利用rabbitmq-mqtt可将离线数据缓存,待上线后接收启用mqtt插件 rabbitmq-plugins enable rabbitmq_mqtt qq:505645074

WordPress网站遇到“数据库连接错误”报错解决方法

当遇到WordPress网站出现“数据库连接错误”时,可以通过以下步骤来逐步排查和解决问题: 1. 确认数据库连接信息用户名和密码:确保数据库用户名和密码正确无误。 服务器地址:确认数据库服务器地址(通常是localhost,但也可能是其他地址)正确无误。2. 检查 wp-config.php 文…

clickhouse压测

Clickhouse压测 压测工具:jemter服务器监控脚本sql准备:简单sqlselect * from tb_plan_student where plan_id=1122980766105344 and region_id=330302 limit 10简单sql---部分字段select student_id,student_name from tb_plan_student where plan_id=1122980766105344 and…

国产化:TongRDS替代Redis

背景: 国产化要求,内存数据缓存中间件要换国产产品,这里简单记录一下替换过程,项目是 spring boot 微服务结构。官方文档比较全,这里只是个人记录的最简化的版本。1 安装 企业版 TongRDS 分为2个节点,我拿到的版本就是企业版,所以下面的都默认是企业版。分为中心节点和服…

阿里云mysql数据库服务器错误怎么回事

阿里云MySQL数据库服务器错误可能由多种因素造成,以下是一些常见的原因及解决方法:网络配置错误:检查服务器的网络配置,确保防火墙设置允许来自客户端的连接请求。 确认IP地址或域名解析正确,且客户端能够通过网络访问到数据库服务器。MySQL服务未启动:确认MySQL服务已经…

数据库连接错误:原因与解决方案

数据库连接错误可能由多种因素引起,下面列出了一些常见的原因及其解决方案: 常见原因及解决方案配置错误原因:数据库连接字符串中的参数错误,如主机名/IP地址、端口号、数据库名称、用户名或密码不正确。 解决方法:检查并确认连接字符串中的所有参数都正确无误。网络问题原…

淘宝商品评论API:电商数据的宝库

淘宝商品评论API是淘宝开放平台提供的一项服务,它允许开发者获取商品的用户评价信息,包括评分、评论文本、图片和视频等。这些数据对于商家来说是一个宝贵的资源,因为它们直接反映了消费者的真实感受和需求。实时分析用户反馈的重要性 提升客户满意度:通过实时分析用户反馈…

2 用户注册

创建用户模块应用在apps包下创建子应用 users python ../manage.py startapp users注册模块应用 INSTALLED_APPS=[ ... apps.users ]

Docker nsenter 命令使用以及lsns命令(需要安装utrace包)

查看容器对应宿主机上面的pid,容器技术的实质是进程,并没有完整的操作系统,就相当于在主机上面fork了一个子进程,通过docker daemon去fork一个子进程,这个子进程是可以在主机上面看到其pid的。 $ docker inspect -f {{.State.Pid}} 容器名或者容器id 如下:$ docker insp…

ubuntu离线安装docker

下载对应的包 https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/ 执行命令dpkg -i containerd.io_1.7.21-1_amd64.debdpkg -i docker-buildx-plugin_0.16.2-1~ubuntu.22.04~jammy_amd64.debdpkg -i docker-ce_27.2.0-1~ubuntu.22.04~jammy_amd64.debd…