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

数据湖仓一体(五)安装spark

上传安装包到/opt/software目录并解压

[bigdata@node106 software]$ tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/services/ 

重命名文件

[bigdata@node106 services]$ mv spark-3.3.1-bin-hadoop3 spark-3.3.1 

 配置环境变量

[bigdata@node106 ~]$ sudo vim /etc/profile.d/bigdata_env.sh
export SPARK_HOME=/opt/services/spark-3.3.1
export $PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin:$KAFKA_HOME/bin:$SEA_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin

分发环境变量

[bigdata@node106 bin]$ sudo ./bin/xsync /etc/profile.d/bigdata_env.sh 

刷新环境变量,5台机器上执行

[bigdata@node106 ~]$ source /etc/profile

配置spark-env.sh

HADOOP_CONF_DIR=/opt/services/hadoop-3.3.5/etc/hadoop
YARN_CONF_DIR=/opt/services/hadoop-3.3.5/etc/hadoop
export SPARK_DIST_CLASSPATH=$(hadoop classpath)
export SPARK_HISTORY_OPTS=" 
-Dspark.history.ui.port=18080  
-Dspark.history.fs.logDirectory=hdfs://mycluster:8020/spark-history  
-Dspark.history.retainedApplications=30"

配置spark-defaults.conf

spark.master                       yarn
spark.eventLog.enabled             true
spark.eventLog.dir                 hdfs://mycluster:8020/spark-history
spark.serializer                   org.apache.spark.serializer.KryoSerializer
spark.yarn.archive               hdfs://mycluster:8020/spark-archive/spark-archive.zip
spark.sql.warehouse.dir       hdfs://mycluster:8020/user/hudi/warehouse
spark.serializer                    org.apache.spark.serializer.KryoSerializer
spark.sql.extensions            org.apache.spark.sql.hudi.HoodieSparkSessionExtension
spark.sql.catalog.spark_catalog              org.apache.spark.sql.hudi.catalog.HoodieCatalog
spark.kryo.registrator                              org.apache.spark.HoodieSparkKryoRegistrar
spark.hadoop.yarn.timeline-service.enabled    false
spark.executor.cores     4
spark.executor.memory 3g
spark.executor.memoryOverhead 1g
spark.driver.memory     2g
spark.driver.memoryOverhead 1g
#启动动态分配
spark.dynamicAllocation.enabled    true
#启用Spark shuffle服务
spark.shuffle.service.enabled    true
#Executor个数初始值
spark.dynamicAllocation.initialExecutors    2
#Executor个数最小值
spark.dynamicAllocation.minExecutors    2
#Executor个数最大值
spark.dynamicAllocation.maxExecutors    4
#Executor空闲时长,若某Executor空闲时间超过此值,则会被关闭
spark.dynamicAllocation.executorIdleTimeout    60s
#积压任务等待时长,若有Task等待时间超过此值,则申请启动新的Executor
spark.dynamicAllocation.schedulerBacklogTimeout    1s
spark.yarn.queue hive 
spark.yarn.historyServer.address=node106:18080
spark.history.ui.port=18080
spark.history.fs.logDirectory=hdfs://mycluster:8020/spark-history

创建日志文件

[bigdata@node106 conf]$ hdfs dfs -mkdir /spark-history

创建运行依赖的文件夹

[bigdata@node106 conf]$ hdfs dfs -mkdir /spark-archive

上传mysql驱动包,hudi依赖的包

[bigdata@node106 software]$ cp mysql-connector-java-8.0.18.jar /opt/services/spark-3.3.1/jars/ 
[bigdata@node106 software]$ cp hudi-spark3.3-bundle_2.12-0.14.1.jar /opt/services/spark-3.3.1/jars/ 

压缩jar包并上传到hdfs

[bigdata@node106 jars]$ zip spark-archive.zip ./* 
[bigdata@node106 jars]$ hdfs dfs -put ./spark-archive.zip /spark-archive

上传spark-3.3.1-yarn-shuffle.jar

[bigdata@node106 conf]$ cp $SPARK_HOME/yarn/spark-3.3.1-yarn-shuffle.jar  /opt/services/hadoop-3.3.5/share/hadoop/yarn/lib/

配置日志文件

[bigdata@node106 conf]$ cp log4j2.properties.template log4j2.properties

上传hive-site.xml到conf目录下,配置hudi存储目录和spark的server2服务

<property><name>hive.metastore.warehouse.dir</name><value>/user/hudi/warehouse</value></property><property><name>hive.server2.thrift.port</name><value>10001</value></property><property><name>hive.server2.thrift.bind.host</name><value>node106</value></property>

编写spark.sh脚本

[bigdata@node106 bin]$ vim spark.sh 
#!/bin/bashif [ $# -lt 1 ]
thenecho "No Args Input...[start,stop]"exit ;
fi
case $1 in
"start")echo ==================== 启动history服务 =========================ssh node106 "$SPARK_HOME/sbin/start-history-server.sh"echo ==================== 启动server2服务 ====================ssh node106 "$SPARK_HOME/sbin/start-thriftserver.sh --master yarn"
;;
"stop")echo ==================== 关闭history服务 =========================ssh node106 "$SPARK_HOME/sbin/stop-history-server.sh"echo ==================== 关闭server2服务 ====================ssh node106 "$SPARK_HOME/sbin/stop-thriftserver.sh --master yarn"
;;
*)echo "Input Args Error...[start,stop]"
;;
esac

授权

[bigdata@node106 bin]$ chmod +x spark.sh

分发到其他机器

[bigdata@node106 bin]$ xsync  spark.sh 

copy到其他机器

[bigdata@node107 bin]$ scp -r bigdata@node106:/opt/services/spark-3.3.1/ /opt/services/spark-3.3.1/   
[bigdata@node108 bin]$ scp -r bigdata@node106:/opt/services/spark-3.3.1/ /opt/services/spark-3.3.1/

启动spark

[bigdata@node106 bin]$ spark.sh start 

相关文章:

数据湖仓一体(五)安装spark

上传安装包到/opt/software目录并解压 [bigdatanode106 software]$ tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/services/ 重命名文件 [bigdatanode106 services]$ mv spark-3.3.1-bin-hadoop3 spark-3.3.1 配置环境变量 [bigdatanode106 ~]$ sudo vim /etc/profile…...

项目收获总结--本地缓存方案选型及使用缓存的坑

本地缓存方案选型及使用缓存的坑 一、摘要二、本地缓存三、本地缓存实现方案3.1 自己编程实现一个缓存3.2 基于 Guava Cache 实现本地缓存3.3 基于 Caffeine 实现本地缓存3.4 基于 Encache 实现本地缓存3.5 小结 四、使用缓存的坑4.1 缓存穿透4.2 缓存击穿4.3 缓存雪崩4.4 数据…...

java使用poi-tl模版引擎导出word之if判断条件的使用

文章目录 模版中if语句条件的使用1.数据为False或空集合2.非False或非空集合 模版中if语句条件的使用 如果区块对的值是 null 、false 或者空的集合&#xff0c;位于区块中的所有文档元素将不会显示&#xff0c;这就等同于if语句的条件为 false。语法示例&#xff1a;{{?stat…...

扩散的魔法:如何打造未来生物打印?

生物打印技术正在快速发展&#xff0c;它允许我们将生物材料、细胞和生长因子等生物活性成分精确地打印成具有特定形状和功能的结构。而扩散现象在生物打印中扮演着至关重要的角色&#xff0c;它影响着打印结构的特性、机械性能、生物功能和形态。为了更好地利用扩散现象&#…...

Bag of mice(概率dp)

https://www.luogu.com.cn/problem/CF148D 思路&#xff1a; 概率dp&#xff0c;设f[a][b]为白鼠为a个&#xff0c;黑鼠为b个时&#xff0c;赢的期望。 f[i][0]1; 1.当先手取到白鼠时 a/(ab); 2.当先手未取到白鼠&#xff0c;先手要向赢&#xff0c;后手也不能取到白鼠&am…...

Python的基础语法——持续更新版

1、type查看数据类型 # 直接输出结果 print(type("Hello")) # 先用变量存储 string_type type("Hello") print(string_type) 2、 类型转化 任何类型可以转化为字符串&#xff0c;但字符串不可以随意转化&#xff0c;要求字符串类内容都是数字 # 类型…...

百度智能云将大模型引入网络故障定位的智能运维实践

物理网络中&#xff0c;某个设备发生故障&#xff0c;可能会引起一系列指标异常的告警。如何在短时间内从这些告警信息中找到真正的故障原因&#xff0c;犹如大海捞针&#xff0c;对于运维团队是一件很有挑战的事情。 在长期的物理网络运维工作建设中&#xff0c;百度智能云通…...

晚上定时编译android系统

1、问题 可能偶然想晚上定时编译android系统 2、解决 at.sh #!/bin/sh# at -f at.sh now1min # at -lset -e set -xecho $SHELLecho at build begin /bin/date >> at_build.log/bin/bash -c source build/envsetup.sh >> at_build.log 2>&1; lunch xxx-us…...

轻薄鼠标的硬核选购攻略,很多人都在“高性价比”鼠标上栽跟头了

轻薄款设计的鼠标是目前鼠标市场的出货大头&#xff0c; 也是价格最卷的一类鼠标。 比游戏鼠标或许更卷一些。 这和当前的移动办公趋势关系很大。 这类鼠标主要跟笔记本和iPad搭配。 核心的使用场景是办公。 因此轻薄和静音是这类鼠标的核心卖点。 同时用户并不愿意付出太…...

Python制作签到系统

import datetime sign_in_records {} def sign_in(username): today datetime.date.today() if username not in sign_in_records: sign_in_records[username] [] sign_in_records[username].append(today) print(f"{username} 签到成功&#…...

面试题007-Java-Spring

面试题007-Java-Spring 目录 面试题007-Java-Spring题目自测题目答案1. 简单介绍一下Spring&#xff1f;2. Spring有哪些模块&#xff1f;3. 什么是Spring IoC ?4. 什么是依赖注入&#xff1f;有哪几种方式可以进行依赖注入&#xff1f;5. 什么是Spring AOP &#xff1f;6. 什…...

后端之路——登录校验前言(Cookie\ Session\ JWT令牌)

前言&#xff1a;Servlet 【登录校验】这个功能技术的基础是【会话技术】&#xff0c;那么在讲【会话技术】的时候必然要谈到【Cookie】和【Session】这两个东西&#xff0c;那么在这之前必须要先讲一下一个很重要但是很多人都会忽略的一个知识点&#xff1a;【Servlet】 什么是…...

【蓄势·致远】 同为科技(TOWE)2024年年中会议

2024年7月2日-8日&#xff0c;同为科技&#xff08;TOWE&#xff09;召开2024年年中工作会议。会议回顾上半年总体工作情况&#xff0c;分析研判发展形势&#xff0c;规划部署下半年工作。 为期一周的工作会议&#xff0c;由同为科技&#xff08;TOWE&#xff09;创始人、董事长…...

通过git将文件push到github 远程仓库

1.先git clone 代码地址 git clone htttp://github.com/用户名/test.git 2. 添加文件 例如&#xff1a;touch 1.txt 3.将文件添加到暂存区 git add 1.txt 4.提交 git commit -m "commit 1.txt" 5.与远程仓库建立关联 git remote add 远程仓库名 远程仓库…...

如何判断服务器是否被攻击

如何判断服务器是否被攻击 一、异常流量模式 一种判断服务器是否遭到攻击的方法是监控网络流量。异常的流量模式&#xff0c;例如流量突然剧增或减少&#xff0c;都可能是攻击的迹象。通常&#xff0c;大量的入站流量表明分布式拒绝服务&#xff08;DDoS&#xff09;攻击的可能…...

泽众一站式性能测试平台P-One监控指标的意义

在当今数字化和信息化高度发展的时代&#xff0c;企业把保障系统稳定运行、优化业务流程和提升用户体验摆在首要位置。然而&#xff0c;在现如今复杂的分布式系统中&#xff0c;各个组件和服务之间的交互频繁且紧密&#xff0c;当系统出现性能瓶颈时&#xff0c;传统的监测手段…...

前端Canvas入门——一些注意事项

创建渐变的三种方法&#xff1a; createLinearGradient() - 线性渐变 createRadialGradient() - 径向渐变&#xff08;放射性渐变&#xff09; createConicGradient() - 锥形渐变 这三种的核心观点都是&#xff1a; 创建一个gradient对象&#xff0c;然后调用addColorStop()方法…...

移动互联安全扩展要求测评项

安全物理环境-无线接入点的位置选择 应为无线接入设备的安装选择合理位置&#xff0c;避免过度覆盖和电磁干扰。 无线接入设备的安装位置选择不当&#xff0c;易被攻击者利用&#xff0c;特别是攻击者会通过无线信号过度覆盖的弱点进行无线渗透攻击&#xff0c;因此要选择合理…...

【代码随想录】【算法训练营】【第64天】 [卡码117]软件构建 [卡码47]参加科学大会

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 卡码网。 day 64&#xff0c;周三&#xff0c;继续ding~ 题目详情 [卡码117] 软件构建 题目描述 卡码117 软件构建 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 C语言 [卡码…...

【python算法学习1】用递归和循环分别写下 fibonacci 斐波拉契数列,比较差异

问题&#xff1a; fibonacci 斐波拉契数列&#xff0c;用递归和循环的方法分别写,比较递归和循环的思路和写法的差别 最直接的思路&#xff0c;是写递归方法 循环方法的稍微有点绕&#xff0c;我觉得问题主要是出在&#xff0c;总结循环的通项公式更麻烦&#xff0c;难在数学…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

leetcode73-矩阵置零

leetcode 73 思路 记录 0 元素的位置&#xff1a;遍历整个矩阵&#xff0c;找出所有值为 0 的元素&#xff0c;并将它们的坐标记录在数组zeroPosition中置零操作&#xff1a;遍历记录的所有 0 元素位置&#xff0c;将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...

2025-05-08-deepseek本地化部署

title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek&#xff1a;小白也能轻松搞定&#xff01; 如何给本地部署的 DeepSeek 投喂数据&#xff0c;让他更懂你 [实验目的]&#xff1a;理解系统架构与原…...

未授权访问事件频发,我们应当如何应对?

在当下&#xff0c;数据已成为企业和组织的核心资产&#xff0c;是推动业务发展、决策制定以及创新的关键驱动力。然而&#xff0c;未授权访问这一隐匿的安全威胁&#xff0c;正如同高悬的达摩克利斯之剑&#xff0c;时刻威胁着数据的安全&#xff0c;一旦触发&#xff0c;便可…...