Spark的yarn集群环境搭建

一.为什么要搭建yarn集群

为什么要将Spark的程序运行在YARN上,不运行在自带的 Standalone集群上?

1、统一化资源管理

Standalone是Spark专用的资源管理集群,只能用于运行 Spark程序

YARN是功能的分布式资源管理平台,可以运行各种分布式程 序:MR、Tez、Spark、Flink

工作中硬件集群只有一套,只能选择一个平台来管理,从整个技术架构来说选择YARN更合适

2、YARN调度机制更加完善和成熟

支持动态资源分配以及多种调度机制,比如容量调度、公平调度。

二.开始搭建

首先关闭以前的standalone集群:

cd /opt/installs/spark
sbin/stop-master.sh
sbin/stop-workers.sh
sbin/stop-history-server.sh

配置第一台服务器bigdata01:

cd /opt/modules/
tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/installs
cd /opt/installs
mv spark-3.1.2-bin-hadoop3.2 spark-yarn
rm -rf /opt/installs/spark
ln -s /opt/installs/spark-yarn /opt/installs/spark

修改spark-env.sh配置文件:

cd /opt/installs/spark/conf
mv spark-env.sh.template spark-env.sh
vim /opt/installs/spark/conf/spark-env.sh
## 22行左右设置JAVA安装目录、HADOOP和YARN配置文件
目录
export JAVA_HOME=/opt/installs/jdk
export HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoop
export YARN_CONF_DIR=/opt/installs/hadoop/etc/hadoop
## 历史日志服务器
export SPARK_DAEMON_MEMORY=1g
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://bigdata01:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"

修改spark-defaults.conf 文件:

cd /opt/installs/spark/conf
mv spark-defaults.conf.template spark-defaults.confvim spark-defaults.conf
## 添加内容:
spark.eventLog.enabled           true
spark.eventLog.dir           hdfs://bigdata01:9820/spark/eventLogs
spark.eventLog.compress           true
spark.yarn.historyServer.address bigdata01:18080
spark.yarn.jars           hdfs://bigdata01:9820/spark/jars/*

修改log4j.properties:

mv log4j.properties.template log4j.properties修改级别为WARN,打印日志少一点。

上传spark jar包到hdfs:

#因为YARN中运行Spark,需要用到Spark的一些类和方法
#如果不上传到HDFS,每次运行YARN都要上传一次,比较慢
#所以自己手动上传一次,以后每次YARN直接读取即可
hdfs dfs -mkdir -p /spark/jars/
hdfs dfs -put /opt/installs/spark/jars/* /spark/jars/

修改yarn-site.xml:

cd /opt/installs/hadoop/etc/hadoop检查以下内置少什么,就配什么。
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property><!-- 历史日志在HDFS保存的时间,单位是秒 -->
<!-- 默认的是-1,表示永久保存 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property><property><name>yarn.log.server.url</name><value>http://bigdata01:19888/jobhistory/logs</value>
</property><!-- 关闭yarn内存检查 -->
<property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
</property>
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>

将第一台机器的spark-yarn分发到第二台和第三台:
虚拟机中使用的分发文件,和分发命令脚本资源-CSDN文库

xsync.sh /opt/installs/spark-yarn超链接也分发一下:
xsync.sh /opt/installs/spark

启动:

# 启动yarn
start-yarn.sh
# 启动MR的JobHistoryServer:19888
mapred --daemon start historyserver
# 启动Spark的HistoryServer:18080
/opt/installs/spark/sbin/start-history-server.sh

 到此搭建完成。

三.测试一下

再跑个π看看:

/opt/installs/spark/bin/spark-submit --master yarn /opt/installs/spark/examples/src/main/python/pi.py 10

可以看到:

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

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

相关文章

51单片机教程(六)- LED流水灯

1 项目分析 基于点亮LED灯、LED灯闪烁&#xff0c;扩展到构成最简单、花样流水灯。 2 技术准备 1 流水灯硬件及原理图 流水灯是由多个LED灯组成的 2 C语言知识点 数组 数组声明&#xff1a;长度不可变 数据类型 数组名称[长度n] // 整数型默认为0&#xff0c;小数型默认…

PyQt5实战——翻译的实现,第一次爬取微软翻译经验总结(八)

个人博客&#xff1a;苏三有春的博客 系类往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt5实战——多脚本集合包&#xff0c;程序…

前端好用的网站分享——CSS(持续更新中)

1.CSS Scan 点击进入CSS Scan CSS盒子阴影大全 2.渐变背景 点击进入color.oulu 3.CSS简化压缩 点击进入toptal 4.CSS可视化 点击进入CSS可视化 这个强推&#xff0c;话不多说&#xff0c;看图! 5.Marko 点击进入Marko 有很多按钮样式 6.getwaves 点击进入getwaves 生…

理解Web登录机制:会话管理与跟踪技术解析(三)-过滤器Filter

在Java Web应用中&#xff0c;Filter&#xff08;过滤器&#xff09;是实现登录校验的常见方式。通过Filter&#xff0c;我们能够在请求到达实际的业务逻辑之前&#xff0c;对其进行拦截和处理&#xff0c;从而完成身份校验、权限验证等操作。本文将深入探讨登录校验的实现方法…

FreeBSD将操作系统支持时间从5年缩短为4年 继续与AMD合作

FreeBSD 项目今天发布了 2024 年第三季度进度报告&#xff0c;概述了该开源 BSD 操作系统在上一季度的改进情况。FreeBSD 开发人员仍然非常忙碌&#xff0c;他们在 2024 年第三季度取得的一些成就包括&#xff1a; FreeBSD 发布团队决定将支持时限从五年缩短为四年。 AMD 与 F…

kafka如何获取 topic 主题的列表?

大家好&#xff0c;我是锋哥。今天分享关于【kafka如何获取 topic 主题的列表&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka如何获取 topic 主题的列表&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中&#xff0c;可以…

Java SPI机制简单讲解

前言 在Java开发中&#xff0c;经常会遇到需要扩展系统功能的需求。为了使系统更加灵活和可扩展&#xff0c;Java提供了SPI&#xff08;Service Provider Interface&#xff09;机制。本文将简单介绍SPI机制的基本概念、工作原理&#xff0c;并通过一个具体的示例来展示如何使…

【鉴权】OAuth 2.0: 高度灵活与安全的身份认证框架

目录 引言一、OAuth 2.0 的核心概念1.1 资源拥有者&#xff08;Resource Owner&#xff09;1.2 客户端&#xff08;Client&#xff09;1.3 授权服务器&#xff08;Authorization Server&#xff09;1.4 资源服务器&#xff08;Resource Server&#xff09;1.5 OAuth 2.0体系架构…

【网络-交换机】生成树协议、环路检测

路由优先级 路由优先级决定了在多种可达的路由类型中&#xff0c;哪种路由将被用来转发数据包。路由优先级值越低&#xff0c;对应路由的优先级越高&#xff0c;优先级值255表示对应的路由不可达。一般情况下&#xff0c;静态路由的优先级为1&#xff0c;OSPF路由优先级为110&a…

Flutter 主流常用第三方库、插件收集

一、Flutter 学习资料 FlutterFlutter官网Flutter中文网咸鱼技术掘金Flutter专栏 Flutter - Dart中(.)、(..)、(...)语法使用_flutter ...-CSDN博客 Flutter pubspec.yaml 配置文件_flutter yaml配置git-CSDN博客 Flutter 添加 example流程_建flutter 工程 怎么自动有example-C…

基于Spring Boot的在线装修管理系统的设计与实现,LW+源码+讲解

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#…

ORACLE的完全检查点和增量检查点

1、完全检查点 在Oracle8i之前&#xff0c;数据库的发生的检查点都是完全检查点。完全检查点会将数据缓冲区里面所有的脏数据块写入相应的数据文件中&#xff0c;同时将最新的checkpoint scn更新到所有的数据文件头部及控制文件。保证数据库的处于一致的状态。需要注意的是&am…

Linux 使用中的问题

yum镜像更新 CentOS7执行yum命令遇到“Could not resolve host: mirrorlist.centos.org&#xff1b; 未知的错误”如何解决-CSDN博客 将mirrorlist.centos.org替换为国内可以访问的镜像源。curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-…

【数字图像处理】图像旋转中三种常见插值方法的效果比较:最近邻插值、双线性插值和双三次插值

引言 插值是一种数学方法&#xff0c;用于在已知的数据点之间估计新的数据点。在图像处理中&#xff0c;插值通常用于图像缩放、旋转和其他形态变换。 原始图像 最近邻插值&#xff08;Nearest-neighbor interpolation&#xff09; 这是最简单的插值方法&#xff0c;也是计算…

Java基础Day-Thirteen

Java字符串 String类 创建String对象的方法 方法一&#xff1a;创建一个字符串对象imooc&#xff0c;名为s1 String s1"imooc"; 方法二&#xff1a;创建一个空字符串对象&#xff0c;名为s2 String s2new String(); 方法三&#xff1a;创建一个字符串对象imooc&a…

“方块兽神仙猿点石成金”游戏搭建开发

“方块兽神仙猿点石成金”是一款结合了策略和运气的休闲游戏。玩家需在规定时间内向不同的山头投入矿石&#xff0c;等待神仙猿降临并随机选择一座山进行“点石成金”。根据神仙猿的选择&#xff0c;玩家将获得不同的奖励。 游戏核心机制 矿石投入&#xff1a;玩家在游戏开始…

C/C++每日一练:实现选择排序

选择排序 选择排序是一种简单直观的排序算法&#xff0c;时间复杂度为&#xff0c;其中 n 是数组长度&#xff0c;不适合大数据集的排序&#xff0c;适合于元素较少且对性能要求不高的场景。 选择排序的基本思想是&#xff1a;每次从未排序部分选择最小的元素&#xff0c;将其放…

如何在Python中实现一个简单的搜索引擎:从零开始的指南

如何在Python中实现一个简单的搜索引擎:从零开始的指南 引言 在当今信息爆炸的时代,搜索引擎已成为我们日常生活中不可或缺的工具。无论是学术研究、工作需求,还是日常娱乐,搜索引擎都为我们提供了便捷的信息获取途径。那么,你是否想过自己也能动手实现一个简单的搜索引…

Java8新特性/java

1.lambda表达式 区别于js的箭头函数&#xff0c;python、cpp的lambda表达式&#xff0c;java8的lambda是一个匿名函数&#xff0c;java8运行把函数作为参数传递进方法中。 语法格式 (parameters) -> expression 或 (parameters...) ->{ statements; }实战 替代匿名内部类…

《现代网络技术》读书笔记:SDN数据平面和OpenFlow

本文部分内容来源于《现代网络技术&#xff1a;SDN,NFV,QoE、物联网和云计算&#xff1a;SDN,NFV,QoE,IoT,andcloud》 SDN数据平面 SDN 数据平面也称为基础设施层&#xff0c;而在ITU-T的Y3300标准中则称为资源层&#xff0c;它是网络转发设备根据 SDN控制平面的决策来执行数据…