Spark on yarn 模式的安装与部署

任务描述

本关任务: Spark on YARN 模式的安装与部署。

相关知识

为了完成本关任务,你需要掌握:

  1. Spark 部署模式的种类;
  2. Spark on YARN 模式的安装。
Spark 部署模式

Spark 部署模式主要分为以下几种,Spark Standalone、Mesos、YARN 和 Kubernetes,下面主要介绍 Spark on YARN 部署模式的安装。

YARN 的简介

yarn 是一种统一的资源管理机制,可以通过队列的方式,管理运行多套计算框架。Spark on Yarn 模式根据 Dirver 在集群中的位置分为两种模式:一种是 Yarn-Client 模式,另一种是 Yarn-Cluster 模式。

yarn 框架的基本运行流程图:

  • ResourceManager:负责将集群的资源分配给各个应用使用,而资源分配和调度的基本单位是 Container,其中封装了集群资源(CPU、内存、磁盘等),每个任务只能在 Container 中运行,并且只使用 Container 中的资源;

  • NodeManager:是一个个计算节点,负责启动 Application 所需的Container,并监控资源的使用情况汇报给 ResourceManager;

  • ApplicationMaster:主要负责向 ResourceManager 申请Application 的资源,获取 Container 并跟踪这些 Container 的运行状态和执行进度,执行完后通知 ResourceManager 注销 ApplicationMaster,ApplicationMaster 也是运行在 Container 中。

Spark on YARN模式的安装

1.将 Spark 安装包(/opt 目录)解压到 /app 目录。

 
  1. mkdir /app
  2. tar -zxvf /opt/spark-2.2.2-bin-hadoop2.7.tgz -C /app

2.切换到 $SPARK_HOME/conf,修改 spark-env.sh 文件,添加 Hadooop 配置文件所在目录信息。

 
  1. cd /app/spark-2.2.2-bin-hadoop2.7/conf
  2. cp spark-env.sh.template spark-env.sh
  3. vi spark-env.sh

在该文件中添加文件内容:

 
  1. export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

3.可以选择性配置 spark 的环境变量(这一步不是必须的)。

添加上述信息后,我们在 spark-submit 提交任务时,就可以指定 master 为 yarn,我们可以使用如下命令测试是否安装成功。

 
  1. start-all.sh
  2. cd /app/spark-2.2.2-bin-hadoop2.7/bin
  3. ./spark-submit --class com.edu.fldr.SparkTest --master yarn /opt/dm-1.0-SNAPSHOT.jar

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

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

相关文章

2021年2月1日 Go生态洞察:VS Code Go扩展中默认启用Gopls

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

rss服务搭建记录

layout: post title: RSS subtitle: vps搭建RSS服务 date: 2023-11-27 author: Sprint#51264 header-img: img/post-bg-universe.jpg catalog: true tags: - 折腾 文章目录 引言RSShub-dockerRSS-radarFreshrssFluent reader获取fever api配置Fluent Reader同步 结语 引言 一个…

IDEA设置方法注释模板

目录 一.打开设置:File—>Settings... 二.选择Live Templates—>点击右侧 "" 号—>选择Template Group... 三.输入组名称,建议取容易理解的名字,点击OK 四.选中创建好的组,再次点击 "" 号&#…

“大型”基础模型中幻觉的调查

Abstract 基础模型 (FM) 中的幻觉是指生成偏离事实或包含捏造信息的内容。这篇调查论文广泛概述了近期旨在识别、阐明和解决幻觉问题的努力,特别关注“大型”基础模型(LFM)。该论文对LFM特有的各种类型的幻觉现象进行了分类,并建…

fio 参数记录

常用的参数不多记录,主要记录下不太常用的参数,后续遇到再往上加 #io size 大小/比例,用冒号隔开 --bssplit4k/10:64k/50:32k/40 #下面这么写也是对的,代表 1k/32k 各25%,反正总计100% --bssplit4k/50:1k/:32k/# io s…

手撕A*算法(详解A*算法)

A*算法原理 全局路径规划算法,根据给定的起点和终点在全局地图上进行总体路径规划。 导航中使用A*算法计算出机器人到目标位置的最优路线,一般作为规划的参考路线 // 定义地图上的点 struct Point {int x,y; // 栅格行列Point(int x, int y):x(x),y(y){…

java学习part18抽象类

Java抽象类 详解-CSDN博客 111-面向对象(高级)-抽象类与抽象方法的使用_哔哩哔哩_bilibili 1.概念 2.抽象类 抽象类不能实例化,可以有属性,也可以有方法。 方法可以实现或者只声明不实现,要加一个abstract abstract class A{//定义一个抽…

springboot整合redis+自定义注解+反射+aop实现分布式锁

1.定义注解 import java.lang.annotation.*; import java.util.concurrent.TimeUnit;/** Author: best_liu* Description:* Date: 16:13 2023/9/4* Param * return **/ Retention(RetentionPolicy.RUNTIME) Target({ElementType.METHOD}) Documented public interface RedisLo…

详细学习Pyqt5中的5种布局方式

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图(Item View) 快速弄懂Pyqt5的4种项目部件(Item Widget) 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…

Go语言基础:包、函数、语句和注释解析

一个 Go 文件包含以下几个部分: 包声明导入包函数语句和表达式 看下面的代码,更好地理解它: 例子 package mainimport "fmt"func main() { fmt.Println("Hello World!") }例子解释 第 1 行: 在 Go 中&am…

基于SSM的仓库管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

算法通关村第一关——链表经典问题之删除链表元素笔记

删除链表节点 总结一下高频常用的删除链表结点的情况,无论对链表进行何种操作,都需要精确查找和精确指向。另外,在删除链表节点时有一个很好用的技巧:虚头结点,将头结点的特殊性转化为一般,在后面具体阐述…

15个超级实用的Python操作,肯定有你意想不到的!

文章目录 1)映射代理(不可变字典)2)dict 对于类和对象是不同的3) any() 和 all()4) divmod()5) 使用格式化字符串轻松检查变量6) 我们可以将浮点数转换为比率7) 用globals()和locals()显示现有的全局/本地变量8) import() 函数9) …

Linux C语言 33-排序算法

Linux C语言 33-排序算法 本节关键字:C语言 排序算法 选择排序 冒泡排序 快速排序 相关C库函数: 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元…

【LeetCode刷题】--90.子集II

90.子集II class Solution {public List<List<Integer>> subsetsWithDup(int[] nums) {List<List<Integer>> ans new ArrayList<>();List<Integer> list new ArrayList<>();//排序后便于去重Arrays.sort(nums);dfs(0,nums,ans,lis…

fastReID论文总结

fastReID论文总结 fastReIDReID所面临的挑战提出的背景概念&#xff1a;所谓ReID就是从视频中找出感兴趣的物体&#xff08;人脸、人体、车辆等&#xff09;应用场景&#xff1a;存在的问题&#xff1a;当前的很多ReID任务可复用性差&#xff0c;无法快速落地使用解决方式&…

常见的 QML 类型

在 QML&#xff08;Qt Modeling Language&#xff09;中&#xff0c;“type” 通常指的是定义特定界面组件或功能的元素。QML 类型可以是基本的用户界面元素&#xff0c;如按钮或文本框&#xff0c;也可以是更复杂的控件&#xff0c;如列表视图或滑块。QML 类型还可以是用于组织…

基于SpringBoot实现的教务查询系统

一、系统架构 前端&#xff1a;html | js | css | jquery | bootstrap 后端&#xff1a;springboot | springdata-jpa 环境&#xff1a;jdk1.7 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员端-课程管理 03. 管理员端-学生管理 04. 管理员端-教师管理…

EntityFrameworkCore数据库优先命令总结

初始化&#xff0c;直接使用数据库逆向生成模型 命令如下&#xff1a; Scaffold-DbContext connectionString providerName options C#有偿Q群&#xff1a;927860652这里的每个参数都有自己的用途&#xff1a; connectionString&#xff1a;数据库连接字符串。这应包括服…

C++ day45 爬楼梯 零钱兑换 完全平方数

题目1&#xff1a;70 爬楼梯&#xff08;进阶版&#xff09; 题目链接&#xff1a;爬楼梯 对题目的理解 需要爬n阶才能到达楼顶&#xff0c;每次可以至多爬m个台阶&#xff0c;m的区间是[1,n)&#xff0c;有多少种方法爬到楼顶 本题是一个完全背包问题&#xff0c;每一阶都…