当前位置: 首页 > 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;难在数学…...

3步快速解密中兴光猫配置:ZET工具终极实战指南

3步快速解密中兴光猫配置&#xff1a;ZET工具终极实战指南 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 中兴光猫配置解密工具是每个网络管理员必备的神器&#xff01;Z…...

通用物联网开发板设计:基于ESP8266的硬件集成与开发实践

1. 项目概述&#xff1a;为什么我们需要一块“通用”的物联网开发板&#xff1f;在捣鼓了几年物联网项目之后&#xff0c;我发现自己桌面上堆满了各种开发板&#xff1a;ESP8266、ESP32、Arduino Uno、STM32 Nucleo……每个项目都要重新连线、配置电源、焊接传感器接口&#xf…...

使用curl命令调试Taotoken API接口的常见问题排查

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用curl命令调试Taotoken API接口的常见问题排查 基础教程类&#xff0c;面向所有需要通过HTTP直接与API交互的开发者&#xff0c…...

终极指南:用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式

终极指南&#xff1a;用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否经常在多个窗口间来回切换&#xff0c;浪费宝…...

告别繁琐审核!实测AI Agent如何重塑复杂非结构化票据与合同处理流程?

摘要&#xff1a;在企业数字化转型步入深水区的2026年&#xff0c;处理复杂非结构化票据与合同已成为横亘在财务、法务部门面前的“最后一公里”难题。传统RPA因UI变动易崩溃、主流智能体因缺乏API适配而无法落地&#xff0c;导致大量业务仍依赖低效的人工操作。本文由「企服AI…...

OpenCore Legacy Patcher完整指南:让老旧Mac焕发新生,运行最新macOS

OpenCore Legacy Patcher完整指南&#xff1a;让老旧Mac焕发新生&#xff0c;运行最新macOS 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台被苹…...

LLM测试工程师必看,Claude E2E测试架构设计,从用例生成、黄金样本构建到回归基线告警闭环

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;LLM测试工程师必看&#xff0c;Claude E2E测试架构设计&#xff0c;从用例生成、黄金样本构建到回归基线告警闭环 核心架构概览 Claude端到端测试架构采用三层解耦设计&#xff1a;输入层&#xff08;动态用…...

模拟调音台数字化改造:基于STM32与MOTU音频接口的智能控制方案

1. 项目概述&#xff1a;为老旧模拟调音台注入数字灵魂在不少社区广播电台、校园电台或是小型制作室里&#xff0c;你依然能看到那些服役了十几年甚至几十年的模拟调音台。它们皮实耐用&#xff0c;推子手感扎实&#xff0c;旋钮的阻尼感让人安心&#xff0c;但面对如今以数字文…...

3个核心问题:如何突破Cursor AI的使用限制并持续获得Pro功能体验?

3个核心问题&#xff1a;如何突破Cursor AI的使用限制并持续获得Pro功能体验&#xff1f; 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: …...

5大核心功能掌握HandheldCompanion:Windows掌机终极控制伴侣

5大核心功能掌握HandheldCompanion&#xff1a;Windows掌机终极控制伴侣 【免费下载链接】HandheldCompanion ControllerService 项目地址: https://gitcode.com/gh_mirrors/ha/HandheldCompanion 你是否正在寻找一款能够彻底改变Windows掌机游戏体验的控制软件&#xf…...