开源大数据集群部署(二十一)Spark on yarn 部署

作者:櫰木

1 spark on yarn安装(每个节点)

cd /root/bigdata/
tar -xzvf spark-3.3.1-bin-hadoop3.tgz -C /opt/
ln -s /opt/spark-3.3.1-bin-hadoop3 /opt/spark
chown -R spark:spark /opt/spark-3.3.1-bin-hadoop3

2 配置环境变量及修改配置

cat /etc/profile.d/bigdata.sh
export SPARK_HOME=/opt/spark
export SPARK_CONF_DIR=/opt/spark/conf

引用变量

source /etc/profile

yarn的capacity-scheduler.xml文件修改配置保证资源调度按照CPU + 内存模式:(每个yarn 节点)

<property><name>yarn.scheduler.capacity.resource-calculator</name><!-- <value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value> --><value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>

在yarn-site.xml开启日志功能:

<property><description>Whether to enable log aggregation</description><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<property><name>yarn.log.server.url</name><value>http://master:19888/jobhistory/logs</value>
</property>

修改mapred-site.xml: (每个yarn节点)

 <property><name>mapreduce.jobhistory.address</name><value>hd1.dtstack.com:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>hd1.dtstack.com:19888</value>
</property>

cd /opt/spark/conf

Spark 配置文件 (每个spark节点)

cat spark-defaults.conf
spark.eventLog.dir=hdfs:///user/spark/applicationHistory
spark.eventLog.enabled=true
spark.yarn.historyServer.address=http://hd1.dtstack.com:18018spark.history.kerberos.enabled=truespark.history.kerberos.principal=hdfs/hd1.dtstack.com@DTSTACK.COM
spark.history.kerberos.keytab=/etc/security/keytab/hdfs.keytab

Spark 环境配置文件 (每个spark节点)

cat spark-env.sh
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18018 -Dspark.history.fs.logDirectory=hdfs:///user/spark/applicationHistory"
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
  • 由于需要读取日志文件,所以使用hdfs的keytab

创建对应hdfs目录,并修改权限

hdfs dfs -mkdir -p /user/spark/applicationHistory
hdfs dfs -chown -R spark /user/spark/

提交测试任务

cd /opt/spark
./bin/spark-submit --master yarn --deploy-mode client --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.12-3.3.1.jar

3 启动spark history server

cd /opt/spark

开启history server

./sbin/start-history-server.sh

在这里插入图片描述

4 查看效果

1)先进入YARN管理页面查看Spark on Yarn应用,并点击如下图的History:

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

直接访问histroy server

http://ip:18018

在这里插入图片描述

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

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

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

相关文章

攻防世界---misc---再见李华

1.下载附件是解压之后得到一张图片 2.使用常规方法后没有得到什么信息&#xff0c;接着用winhex分析&#xff0c;发现有压缩包 &#xff0c;里面还有个key.txt 3.接着用kali使用命名foremost进行分离&#xff0c;得到压缩包&#xff0c;里面的key.txt需要密码 4.接着给压缩包暴…

IDEA代码重构

重构 重构的目的&#xff1a; 提高代码的可读性、可维护性、可扩展性和性能。 重命名元素 重命名类 当我们进行重命名操作的时候可以看到第六行存在一个R(rename)&#xff0c;点击后就会弹出所偶有引用&#xff0c;这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

生成计算机注册信息:硬盘,主板和CPU组合 根据计算机硬盘,主板,CPU生成注册信息

目录 一.总体说明 二.完整代码 三.逐行分析 一.总体说明 注册信息是用于识别和验证计算机的唯一标识符。在生成注册信息时,通常会包含计算机的硬盘、主板和CPU的相关信息。这些信息可以用于授权软件、管理许可证、防止盗版以及进行系统配置和维护等方面。 具体而言,注册…

管理集群工具之LVS

管理集群工具之LVS 集群概念 将很多机器组织在一起&#xff0c;作为一个整体对外提供服务集群在扩展性、性能方面都可以做到很灵活集群分类 负载均衡集群&#xff1a;Load Balance高可用集群&#xff1a;High Availability高性能计算&#xff1a;High Performance Computing …

模拟网关是什么?

模拟网关是一种网络设备&#xff0c;用于在模拟电话系统和数字网络之间进行信号转换。它的主要作用是将模拟语音信号转换为数字格式&#xff0c;使得这些信号能够通过基于IP&#xff08;互联网协议&#xff09;的网络进行传输&#xff0c;从而实现语音通信。这种设备是将传统的…

Python环境找不到解决方法

Python环境找不到 打开设置&#xff1a;Ctrl Alt S 添加Local Interpreter... 打开System Interpreter&#xff0c;找到本地安装的Python.exe路径&#xff0c;然后一路点OK Trust Project 如果打开工程时&#xff0c;出现如下对话框&#xff0c;请勾选 Trust projects in ...&…

项目管理中,项目团队如何高效的协作与沟通?

目 录 一、项目团队高效的协作与沟通&#xff0c;可以通过以下几个方面来实现&#xff1a; 二、如何在项目团队中明确和共享愿景以提高协作效率&#xff1f; 三、有效的沟通策略在项目管理中的应用案例有哪些&#xff1f; 四、建立哪些具体的沟通机制可以提升团队协作效率…

matlab学习003-绘制由差分方程表示的离散系统图像

目录 1&#xff0c;题目 2&#xff0c;使用函数求解差分方程 1&#xff09;基础知识 ①filter函数和impz函数 ②zeros函数 ☀ 2&#xff09;绘制图像 ​☀ 3&#xff09;对应代码 如果连简单的信号都不会的&#xff0c;建议先看如下文章&#x1f447;&#xff0c;之…

互联网大厂ssp面经,数据结构part2

1. 什么是堆和优先队列&#xff1f;它们的特点和应用场景是什么&#xff1f; a. 堆是一种特殊的树形数据结构&#xff0c;具有以下特点&#xff1a;i. 堆是一个完全二叉树&#xff0c;即除了最后一层外&#xff0c;其他层都是满的&#xff0c;并且最后一层的节点都靠左对齐。i…

【设计模式】11、flyweight 享元模式

文章目录 十一、flyweight11.1 pool 连接池11.1.1 pool_test.go11.1.2 pool.go11.1.3 conn.go 11.2 chess_board11.2.1 chess_test.go11.2.2 chess.go 十一、flyweight https://refactoringguru.cn/design-patterns/flyweight 大量重复的对象, 如果很消耗资源, 没必要每次都初…

IP/网关流量控制:Linux上设置多个路由表 (多号段IP配置)

文章目录 引言I 使用特定的路由策略和规则1.1 实现思路1.2 配置路由策略II Mac/window的IP多号段配置2.1 Mac电脑2.2 windows系统2.3 linux系统III 预备知识3.1 配置接口 IP 地址和网关3.2 启用IP转发功能3.3 修改IP地址3.4 添加一个新的路由策略3.5 路由表配置引言

常见的经典目标检测

常见的经典目标检测算法主要包括&#xff1a; R-CNN 系列57&#xff1a;R-CNN&#xff08;Region-based Convolutional Neural Networks&#xff09;是一种经典的目标检测算法&#xff0c;它通过卷积神经网络&#xff08;CNN&#xff09;提取候选区域特征&#xff0c;然后使用支…

SEGGER Embedded Studio IDE移植FreeRTOS

SEGGER Embedded Studio IDE移植FreeRTOS 一、简介二、技术路线2.1 获取FreeRTOS源码2.2 将必要的文件复制到工程中2.2.1 移植C文件2.2.2 移植portable文件2.2.3 移植头文件 2.3 创建FreeRTOSConfig.h并进行配置2.3.1 处理中断优先级2.3.2 configASSERT( x )的处理2.3.3 关于系…

【npm】常用的NPM命令及在开发过程中的应用

常用的NPM命令及在开发过程中的应用 NPM&#xff08;Node Package Manager&#xff09;是JavaScript的包管理工具&#xff0c;也是世界上最大的软件注册表。它允许开发者共享和重用代码&#xff0c;并便于管理各种Node.js的包依赖。本文将介绍一些常用的NPM命令&#xff0c;并…

linq select 和selectMany的区别

Select 和 SelectMany 都是 LINQ 查询方法&#xff0c;但它们之间有一些区别。 Select 方法用于从集合中选择特定的属性或对集合中的元素进行转换&#xff0c;并返回一个新的集合。例如&#xff1a; var numbers new List<int> { 1, 2, 3, 4, 5 }; var squaredNumbers…

SRS WebRTC Whip 和 Whep 部署体验问题

whip 報錯 404 webrtc推流 小窗口一闪而过&#xff0c;然后查看f12回复404的报错信息 chrome版本&#xff1a; 正在检查更新 版本 123.0.6312.123&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; centos 7.9 源码安装部署&#xff0c; 代码分支5.0 完全按…

【设计模式】中介模式

目录 什么是中介模式 中介模式的组成 使用场景&#xff1a; 优点&#xff1a; 缺点&#xff1a; Java 示例代码&#xff1a; 什么是中介模式 Java 中的中介模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;旨在降低多个对象和类之间的通信…

socket通信基础讲解及示例-C

socket通信之C篇 服务端与客户端简介 socket通信服务端与客户端通信模型通信实战server&#xff08;服务端&#xff09;创建client&#xff08;客户端&#xff09;创建 函数详解创建套接字 socket绑定端口bind进入监听状态listen获取客户端连接请求accept接收网络数据read发送数…

selenium上传文件时打开指定本地文件路径

遇到这样一个问题&#xff1a; 用selenium和chromedriver操作浏览器&#xff0c;其中有一个“本地上传”的按钮&#xff0c;点击后&#xff0c;会进入本地电脑的文件夹&#xff0c;但是这个文件夹一般是C:\Users\XX。如何指定本地上传路径呢&#xff1f; 看起来很简单的一个问…

《前端面试题》- 编程题-手写new(JS)

function Person(name) {this.name name; }Person.prototype.say function() {console.log(Im ${this.name}); }const xiaoming new Person(xiaoming); xiaoming.say(); // 输出 // Im xiaomingfunction _new(fn, ...args) {// 基于fn的原型创建一个新的对象const emptyObj …