当前位置: 首页 > news >正文

Spark on Yarn集群模式搭建及测试

🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇


点击传送:大数据学习专栏

持续更新中,感谢各位前辈朋友们支持学习~

文章目录

    • 1.Spark on Yarn集群模式介绍
    • 2.搭建环境准备
    • 3.搭建步骤

1.Spark on Yarn集群模式介绍

Apache Spark是一个快速的、通用的大数据处理框架,它支持在各种环境中进行分布式数据处理和分析。在Yarn集群模式下搭建Spark环境可以充分利用Hadoop的资源管理和调度能力。

本文将介绍如何搭建Spark on Yarn集群模式环境,步骤详细,代码量大,准备发车~
在这里插入图片描述

2.搭建环境准备

本次用到的环境有:
Java 1.8.0_191
Spark-2.2.0-bin-hadoop2.7
Hadoop 2.7.4
Oracle Linux 7.4

3.搭建步骤

1.解压Spark压缩文件至/opt目录下

tar -zxvf  ~/experiment/file/spark-2.2.0-bin-hadoop2.7.tgz  -C  /opt

在这里插入图片描述
2.修改解压后为文件名为spark

mv /opt/spark-2.2.0-bin-hadoop2.7 /opt/spark

在这里插入图片描述

3.复制spark配置文件,首先在主节点(Master)上,进入Spark安装目录下的配置文件目录{ $SPARK_HOME/conf },并复制spark-env.sh配置文件:

cd /opt/spark/conf
cp spark-env.sh.template spark-env.sh

在这里插入图片描述

4.Vim编辑器打开spark配置文件

vim spark-env.sh

在这里插入图片描述

5.按键Shift+g键定位到最后一行,按键 i 切换到输入模式下,添加如下代码,注意:“=”附近无空格:

export JAVA_HOME=/usr/lib/java-1.8
export SPARK_MASTER_HOST=master
export SPARK_MASTER_PORT=7077

在这里插入图片描述

6.复制一份spark的slaves配置文件

cp slaves.template slaves

在这里插入图片描述

7.修改spark的slaves配置文件

vim slaves

在这里插入图片描述

8.每一行添加工作节点(Worker)名称,按键Shift+g键定位到最后一行,按键 i 切换到输入模式下,添加如下代码

slave1
slave2

在这里插入图片描述

按键Esc,按键:wq保存退出
9.复制spark-defaults.conf

cp spark-defaults.conf.template spark-defaults.conf

在这里插入图片描述

10.通过远程scp指令将Master主节点的Spark安装包分发至各个从节点,即slave1和slave2节点

scp -r /opt/spark/ root@slave1:/opt/
scp -r /opt/spark/ root@slave2:/opt/

在这里插入图片描述
在这里插入图片描述

11.配置环境变量:分别在master,slave1和slave2节点上配置环境变量,修改【/etc/profile】,在文件尾部追加以下内容

vim /etc/profile

按键Shift+g键定位到最后一行,按键 i 切换到输入模式下,添加如下代码

#spark install
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

主节点(master)上执行截图,如下:
在这里插入图片描述
在这里插入图片描述

从节点1(Slave1)上执行截图,如下:
在这里插入图片描述
在这里插入图片描述

从节点2(Slave2)上执行截图,如下:
在这里插入图片描述
在这里插入图片描述

12.按键Esc,按键:wq保存退出
13.分别在Slave1和Slave2上,刷新配置文件

source /etc/profile

在这里插入图片描述
在这里插入图片描述

14.绑定Hadoop配置目录(在主节点),Spark搭建On YARN模式,只需修改spark-env.sh配置文件的HADOOP_CONF_DIR属性,指向Hadoop安装目录中配置文件目录,具体操作如下

vim /opt/spark/conf/spark-env.sh
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop

在这里插入图片描述

15.按键Esc,按键:wq保存退出
16.在主节点修改完配置文件后,一定要将【/opt/spark/conf/spark-env.sh】文件同步分发至所有从节点,命令如下

scp -r /opt/spark/conf/spark-env.sh root@slave1:/opt/spark/conf/
scp -r /opt/spark/conf/spark-env.sh root@slave2:/opt/spark/conf/

在这里插入图片描述

17.注意事项,如不修改此项,可能在提交作业时抛相关异常,Yarn的资源调用超出上限,需修在文件最后添加属性改默认校验属性,修改文件为
{HADOOP_HOME/etc/hadoop}/yarn-site.xml

vim /opt/hadoop/etc/hadoop/yarn-site.xml
<property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
</property>
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>

在这里插入图片描述

18.修改完成后分发至集群其它节点:

scp /opt/hadoop/etc/hadoop/yarn-site.xml root@slave1:/opt/hadoop/etc/hadoop/
scp /opt/hadoop/etc/hadoop/yarn-site.xml root@slave2:/opt/hadoop/etc/hadoop/

在这里插入图片描述

19.开启Hadoop集群,在开启Spark On Yarn集群之前必须首先开启Hadoop集群,指令如下:

start-dfs.sh
start-yarn.sh

在这里插入图片描述

20.开启spark shell会话

spark-shell --master yarn-client

在这里插入图片描述

21.查看三台节点的后台守护进程

jps

在这里插入图片描述

22.查看查看WebUI界面,应用提交后,进入Hadoop的Yarn资源调度页面http://master:8088,查看应用的运行情况,如图所示
在这里插入图片描述

所有配置完成,如果本篇文章对你有帮助,记得点赞关注+收藏哦~

相关文章:

Spark on Yarn集群模式搭建及测试

&#x1f947;&#x1f947;【大数据学习记录篇】-持续更新中~&#x1f947;&#x1f947; 点击传送&#xff1a;大数据学习专栏 持续更新中&#xff0c;感谢各位前辈朋友们支持学习~ 文章目录 1.Spark on Yarn集群模式介绍2.搭建环境准备3.搭建步骤 1.Spark on Yarn集群模式介…...

vue 简单实验 v-on html事件绑定

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"event-handling"><p>{{ message }}</p><button v-on:click"reverseMessage">反转 Message</but…...

c#设计模式-创建型模式 之 原型模式

概述 原型模式是一种创建型设计模式&#xff0c;它允许你复制已有对象&#xff0c;而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得&#xff0c;而不是每次都重新创建。 原型模式包含如下角色&#xff1a; 抽象原型类&#xff1a;规定了具…...

运放的分类、运放的参数

一、运放的分类 运放按功能分为通用运放与专用运放&#xff08;高速运放、精密运放、低IB运放等&#xff09;。 1.1通用运放 除廉价外&#xff0c;没有任何最优指标的运放。 例&#xff1a;uA741&#xff0c;LM324&#xff0c;TL06X&#xff0c;TL07X、TL08X等 国外知名运放…...

手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率

目录 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率 前提条件 设置学习率 学习率的主流优化算法 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率 我们明确了分类任务的损失函数&#xff08;优化目标&#xff09;的相关概念和实现方法&#xff…...

软件工程(二十) 系统运行与软件维护

1、系统转换计划 1.1、遗留系统的演化策略 时至今日,你想去开发一个系统,想完全不涉及到已有的系统,基本是不可能的事情。但是对于已有系统我们有一个策略。 比如我们是淘汰掉已有系统,还是继承已有系统,或者集成已有系统,或者改造遗留的系统呢,都是不同的策略。 技术…...

蓝蓝设计ui设计公司作品--泛亚高科-光伏电站控制系统界面设计

泛亚高科(北京)科技有限公司&#xff08;以下简称“泛亚高科”&#xff09;&#xff0c;一个以实时监控、高精度数值计算为基础的科技公司&#xff0c; 自成立以来&#xff0c;组成了以博士、硕士为核心的技术团队&#xff0c;整合了华北电力大学等高校资源&#xff0c;凭借在电…...

软考高级系统架构设计师系列论文七十:论信息系统的安全体系

软考高级系统架构设计师系列论文七十:论信息系统的安全体系 一、信息系统相关知识点二、摘要三、正文四、总结一、信息系统相关知识点 软考高级信息系统项目管理师系列之四十三:信息系统安全管理...

​Softing dataFEED OPC Suite——助力数字孪生技术发展

一 行业概览 数字孪生技术是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;从而反映相对应的实体装备的全生命周期过程。数字孪生技术已经应用在众多领域&#xff1a…...

LLaMA中ROPE位置编码实现源码解析

1、Attention中q&#xff0c;经下式&#xff0c;生成新的q。m为句长length&#xff0c;d为embedding_dim/head θ i 1 1000 0 2 i d \theta_i\frac{1}{10000^\frac{2i}{d}} θi​10000d2i​1​ 2、LLaMA中RoPE源码 import torchdef precompute_freqs_cis(dim: int, end: i…...

在c++ 20下使用微软的proxy库替代传统的virtual动态多态

传统的virtual动态多态&#xff0c;经常会有下面这样的使用需求&#xff1a; #include <iostream> #include <vector>// 声明一个包含virtual虚函数的基类 struct shape {virtual ~shape() {}virtual void draw() 0; };// 派生&#xff0c;实现virtual虚函数 str…...

Spring MVC:@RequestMapping

Spring MVC RequestMapping属性 RequestMapping RequestMapping&#xff0c; 是 Spring Web 应用程序中最常用的注解之一&#xff0c;主要用于映射 HTTP 请求 URL 与处理请求的处理器 Controller 方法上。使用 RequestMapping 注解可以方便地定义处理器 Controller 的方法来处…...

【vue3+ts项目】配置eslint校验代码工具,eslint+prettier+stylelint

1、运行好后自动打开浏览器 package.json中 vite后面加上 --open 2、安装eslint npm i eslint -D3、运行 eslint --init 之后&#xff0c;回答一些问题&#xff0c; 自动创建 .eslintrc 配置文件。 npx eslint --init回答问题如下&#xff1a; 使用eslint仅检查语法&…...

PHP之ZipArchive打包压缩文件

1、Linux 安装 nginx 安装zlib库 2、使用&#xff0c;目前我这边的需求是。 1、材料图片、单据图片&#xff0c;分别压缩打包到“材料.zip”和“单据.zip”。 2、“材料.zip”和“单据.zip”在压缩打包到“订单.zip” 3、支持批量导出多个订单的图片信息所有订单的压缩文件&…...

面试之快速学习C++14

文章参考&#xff1a;https://zhuanlan.zhihu.com/p/588826142?utm_id0 最近学了一会感慨到找工作好难&#xff0c;上周面试了一家医疗公司&#xff0c;准备攒攒经验但是不去&#xff0c;结果三天了没消息&#xff0c;感觉一面都没过… 本来自傲看不上&#xff0c;结果人家也…...

【算法专题突破】双指针 - 快乐数(3)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后&#xff1a; 1. 题目解析 题目链接&#xff1a;202. 快乐数 - 力扣&#xff08;Leetcode&#xff09; 这道题的题目也很容易理解&#xff0c; 看一下题目给的示例就能很容易明白&#xff0c; 但是要注意一个点&#…...

【javaweb】学习日记Day4 - Maven 依赖管理 Web入门

目录 一、Maven入门 - 管理和构建java项目的工具 1、IDEA如何构建Maven项目 2、Maven 坐标 &#xff08;1&#xff09;定义 &#xff08;2&#xff09;主要组成 3、IDEA如何导入和删除项目 二、Maven - 依赖管理 1、依赖配置 2、依赖传递 &#xff08;1&#xff09;查…...

C++信息学奥赛1144:单词翻转

#include <iostream> #include <string> using namespace std; int main() {string str;// 输入一行字符串getline(cin, str);string arr;for (int i 0; i < str.length(); i){if (str[i] ! ){arr str[i]; // 将非空格字符添加到临时存储的字符串中}else{for…...

qt检查文件夹是否有写权限

Qt 使用如下函数能够判断路径或者文件是否可写&#xff1a; bool QFileInfo::isWritable() const 对于win10系统实测&#xff0c;结果不准确。继续排查&#xff0c;官方文档描述&#xff1a;a&#xff09;如果未启用 NTFS 权限检查&#xff0c;Windows 上的结果将仅反映文件是…...

LSF 安装目录,快速参考 LSF 命令、守护程序、配置文件、日志文件和重要集群配置参数

样本 UNIX 和 Linux 安装目录 守护程序错误日志文件 守护程序错误日志文件存储在 LSF_LOGDIR 在 lsf.conf 文件中定义的目录中。 LSF 基本系统守护程序日志文件LSF 批处理系统守护程序日志文件pim.log.host_namembatchd.log.host_namembatchd.log.host_namesbatchd.log.host_…...

隐蔽通信技术:原理、实现与应用

1. 隐蔽通信技术概述隐蔽通信&#xff08;Covert Communication&#xff09;是一种特殊的信息传输技术&#xff0c;其核心目标是实现低检测概率&#xff08;Low Probability of Detection, LPD&#xff09;的通信。与传统的加密通信不同&#xff0c;隐蔽通信不仅保护通信内容的…...

基于经典机器学习模型的GitHub代码审查评论情感分析实践

1. 项目概述&#xff1a;为什么我们需要分析代码审查评论的情感&#xff1f;在软件开发的日常协作中&#xff0c;代码审查&#xff08;Code Review&#xff09;是保证代码质量、促进知识共享和团队协作的核心环节。然而&#xff0c;审查过程不仅仅是技术逻辑的校验&#xff0c;…...

Transformer模型推理性能实测:PyTorch+A10 GPU与MLX+Apple Silicon对比

1. 项目概述与背景最近在部署几个基于Transformer的NLP服务时&#xff0c;遇到了一个经典的选择题&#xff1a;是继续沿用我们团队熟悉的PyTorch NVIDIA GPU方案&#xff0c;还是尝试拥抱苹果生态&#xff0c;用MLX框架在Mac上跑推理&#xff1f;这个问题在团队内部引发了不小…...

保姆级教程:用阿里云镜像加速Unity Android依赖下载,搞定MAX+Admob集成

深度优化Unity安卓依赖下载&#xff1a;阿里云镜像加速MAX与AdMob集成实战国内Unity开发者在集成海外广告SDK时&#xff0c;最头疼的莫过于Gradle依赖下载缓慢甚至失败的问题。本文将手把手教你如何通过阿里云镜像仓库彻底解决这一痛点&#xff0c;同时串联Gradle版本管理、mai…...

Unity资源归档:构建可信交付的四大技术支柱

1. 为什么“资源归档”不是打包&#xff0c;而是Unity项目生命周期的隐形分水岭在Unity项目做到中后期&#xff0c;你大概率会遇到这样几个信号&#xff1a;Build时间从3分钟涨到12分钟&#xff1b;AssetBundle生成脚本每次都要手动删旧包、清缓存、重设Variant&#xff1b;美术…...

Keil C51中绝对地址变量初始化问题解析

1. 问题背景与核心需求在嵌入式开发中&#xff0c;特别是使用Keil C51这类经典工具链时&#xff0c;开发者经常需要将变量精确分配到特定的内存地址。这种需求在硬件寄存器映射、共享内存区域或特定外设控制等场景下尤为常见。最近我在一个8051项目开发中就遇到了这样的需求&am…...

Linux端口敲门原理与knockd实战部署指南

1. 端口敲门不是玄学&#xff0c;是可控的“隐形门铃”很多人第一次听说“SSH端口敲门”&#xff0c;第一反应是&#xff1a;这玩意儿是不是给服务器加了一把看不见的锁&#xff1f;听起来很酷&#xff0c;但真用起来会不会像在黑盒里调音——敲对了门开&#xff0c;敲错了直接…...

量子机器学习模型鲁棒性验证:VeriQR工具原理与应用实战

1. 项目概述与核心价值 量子机器学习&#xff08;QML&#xff09;正逐渐从理论走向实践&#xff0c;在化学模拟、药物发现、金融建模等领域展现出超越经典算法的潜力。然而&#xff0c;与任何基于数据驱动的模型一样&#xff0c;QML模型也并非“金刚不坏之身”。在当前的 噪声…...

miniblink49浏览器内核:企业级打印与PDF生成技术架构深度解析

miniblink49浏览器内核&#xff1a;企业级打印与PDF生成技术架构深度解析 【免费下载链接】miniblink49 a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核&#xff0c;用来取代wke和libcef 项目地址: https://gitco…...

文档自动化下载革命:30+平台一键下载解决方案

文档自动化下载革命&#xff1a;30平台一键下载解决方案 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决您的烦…...