- 博客(65)
- 收藏
- 关注
原创 Spark,RDD中的行动算子
返回值:该算子的返回类型为 Unit,即不返回任何有意义的值,它主要是为了执行副作用操作。格式:def reduce(func: (T, T) => T): T。格式:def foreach(f: T => Unit): Unit。返回值:返回一个单一的值,其类型与 RDD 中元素的类型相同。格式:def collect(): Array[T]count,聚合操作 eg:计算。参数说明:该算子没有参数。
2025-05-13 14:32:59
202
原创 spark yarn模式的集群
压缩包在/opt/modules 将spark解压到/opt/installs。#因为YARN中运行Spark,需要用到Spark的一些类和方法。#如果不上传到HDFS,每次运行YARN都要上传一次,比较慢。## 22行左右设置JAVA安装目录、HADOOP和YARN配置文件。#所以自己手动上传一次,以后每次YARN直接读取即可。将解压后的文件重命名,并对设置一个软连接。修改spark-env.sh配置文件。修改级别为WARN,打印日志少一点。## 历史日志服务器。
2025-05-12 19:51:55
245
原创 spark
也可以通过 Spark 的 Web 界面(通常在http://master-host:4040,如果是集群模式,可能在 YARN 的应用程序页面中找到 Spark 的 Web UI 链接)查看 Spark 应用程序的详细信息,如执行计划、任务进度等。配置 Hadoop 的核心配置文件,如core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml,设置相关参数,如文件系统路径、资源分配等。下载 Spark 安装包,解压到集群各节点的指定目录。
2025-05-12 19:48:56
310
原创 spark
Spark部署模式分为Local模式(单机模式)和集群模式,集群模式又分为Standalone模式,Yarn模式和Mesos模式。由于Spark仅仅是一种计算机框架,不负责数据的存储和管理,因此,通常都会将Spark和Hadoop进行统一部署,由Hadoop中的HDFS,HBase等组件负责数据的存储管理,Spark负责数据计算。选择自己需要的版本下载,由于我的hadoop版本是3.x,所以我下载的是第二个spark-3.1.1-bin-hadoop3.2.tgz。至此,Spark集群配置就完成了。
2025-05-12 19:48:21
283
原创 spark
Spark部署模式分为Local模式(单机模式)和集群模式,集群模式又分为Standalone模式,Yarn模式和Mesos模式。由于Spark仅仅是一种计算机框架,不负责数据的存储和管理,因此,通常都会将Spark和Hadoop进行统一部署,由Hadoop中的HDFS,HBase等组件负责数据的存储管理,Spark负责数据计算。选择自己需要的版本下载,由于我的hadoop版本是3.x,所以我下载的是第二个spark-3.1.1-bin-hadoop3.2.tgz。至此,Spark集群配置就完成了。
2025-05-12 19:47:34
330
原创 spark
1.上传并解压spark-3.1.2-bin-hadoop3.2.tgz,重命名解压之后的目录为spark-yarn。5. /opt/module/spark-standalone/examples/jars/spark-examples_2.12-3.1.1.jar:指定了包含应用程序代码的 JAR 文件的路径。NodeManager:部署在集群中的每个节点上,负责管理该节点上的资源使用情况,监控容器的运行状态,并且与 ResourceManager 保持通信,汇报节点的资源使用信息。
2025-05-12 19:46:47
394
原创 spark
在开始搭建 Spark YARN 集群之前,需要确保 Hadoop 和 YARN 已经正常部署并运行。可以通过执行 start-dfs.sh 和 start-yarn.sh 来启动 HDFS 和 YARN。为了保持一致性,建议使用自定义脚本(如 xsync.sh)同步配置文件到整个集群中的各个节点。进入 Spark 的配置目录,编辑 spark-env.sh 文件以适配当前环境需求。验证集群状态良好之后,可以尝试提交一个简单的 Spark Pi 示例作业给 YARN 调度器管理。
2025-05-12 19:45:59
180
原创 spark
资源相关配置 :根据集群节点的硬件资源情况,合理设置spark.executor.memory(每个 executor 的内存大小)、spark.executor.cores(每个 executor 使用的 CPU 核心数)、spark.driver.memory(driver 程序的内存大小)等参数,例如spark.executor.memory 4g、spark.executor.cores 2,以优化 Spark 应用的性能,充分利用集群资源。修改conf/spark-env.sh文件。
2025-05-12 19:45:12
405
原创 spark
因为 YARN 中运行 Spark 需要用到 Spark 的一些类和方法,如果不上传到 HDFS,每次运行 YARN 都要重新上传一次,速度较慢。将log4j.properties.template重命名为log4j.properties,并修改日志级别为 WARN,减少打印的日志数量,提高系统性能。这些配置用于启用事件日志记录、指定日志存储位置和压缩方式,以及设置 YARN 历史服务器地址和 Spark 相关的 JAR 包路径。这一步骤确保在搭建新的 YARN 集群时,不会受到旧集群的干扰。
2025-05-12 19:44:18
264
原创 spark
例如,在数据读取和预处理阶段可能需要较少的资源,而在复杂的计算和聚合阶段可能需要更多的资源。容量调度可以为不同的用户或业务部门分配固定的资源容量,保证每个用户或部门都能获得稳定的计算资源,适用于多用户共享集群的场景。在实际工作场景中,硬件集群通常只有一套,选择 YARN 作为统一的资源管理平台,可以更好地整合资源,实现多种分布式计算任务的协同运行,从整个技术架构层面来说,YARN 是更为合适的选择。在开始搭建 Spark 的 YARN 集群之前,需要先关闭之前的 StandAlone 老集群。
2025-05-12 19:43:41
706
原创 spark
配置YARN:修改Hadoop的 yarn-site.xml ,启用ResourceManager和NodeManager。- 节点规划:1个主节点(Master)+ N个工作节点(Worker),需安装Java、Hadoop、Spark。- 在 conf/slaves 中列出所有Worker节点IP(每行一个)。- 访问YARN界面(默认端口8088),查看Spark应用队列。./sbin/start-all.sh # 在主节点执行。start-yarn.sh # 启动YARN。
2025-05-12 19:43:04
147
原创 spark
将 $HADOOP_HOME/etc/hadoop/mapred-site.xml.template 文件复制为 mapred-site.xml,然后编辑该文件,添加以下内容:。编辑 $SPARK_HOME/conf/slaves.template 文件,复制为 slaves ,在文件中添加从节点的主机名或 IP 地址,每行一个,例如:。该文件用于配置 Hadoop 的核心属性,编辑 $HADOOP_HOME/etc/hadoop/core-site.xml 文件,添加以下内容:。
2025-05-12 19:41:09
842
原创 【Spark】集群环境下的搭建(Yarn 模式)
Standalone模式分为Client模式和Cluster模式,Client模式下Driver运行在Master节点上,而Cluster模式下Driver运行在Worker节点上。在这种模式下,Spark可以利用YARN的资源管理功能,分为Client模式和Cluster模式。Spark 有五种运行模式,分别是 Local 模式、Standalone 模式、YARN 模式、Mesos 模式和Kubernetes 模式。Standalone模式:适用于需要内部资源调度的场景,配置和维护相对简单。
2025-05-12 19:40:15
325
原创 Spark,在shell中运行RDD程序
/ 将元组的value按照key来分组,对所有的value执行聚合操作(相加)在根目录下可见out111文件,文件打开后可以看到,word2.txt文件内单词被拆分。在hdfs中/wcinput中创建一个文件:word2.txt在里面写几个单词。// 将单词转换为元组对象,key是单词,value是数字1。// 将单词进行切割,得到一个存储全部单词的RDD。// 收集RDD的数据并打印输出结果。// 将结果储存在out111中。// 读取文件,得到RDD。按住ctrl+D退出。
2025-05-12 19:35:50
376
原创 Spark,RDD中的转换算子
对具有相同键的所有值进行聚合操作 = 统计词频。对数字1-10进行过滤,过滤出偶数。对数字1-10进行乘除,*2。
2025-05-12 11:05:04
195
原创 Spark,Idea中编写Spark程序 2
命令为:[root@hadoop100 sbin]# spark-submit --class WordCount_online --master yarn /opt/module/original-untitled-1.0-SNAPSHOT.jar /wcinput /output1。// 写一个spark程序,统计input目录下所有文本文件中单词的词频。// 将所有分区的数据合并成一个分区。// 读取目录下的所有文本文件。// 把结果保存在output下。// 保存结果到文件。
2025-05-06 15:19:46
842
原创 Spark,Idea中编写Spark程序 1
8.准备待统计的词频文件。在项目根目录下建立文件夹input,并穿件两个文本文件:word1.txt, word2.txt。它的功能是wordcount的功能:从指定的文件夹中去读取文件,并做词频统计。如果这里没有看到Scala类的选项,就去检查第2步。IDEA中,默认是不支持编写Scala的,需要额外配置一个插件。添加完成之后,刷新Maven,它会帮助我们去下载依赖。// 提取文本内容并执行 WordCount 操作。// 将所有分区的数据合并成一个分区。// 读取目录下的所有文本文件。
2025-05-06 15:17:14
785
原创 Spark,所用几个网页地址
YARN的ResourceManager网址:http://hadoop101:8088。History Server网址:192.168.56.100:18080。HDFS的NameNode网址:http://hadoop100:9870。2. MapReduce:计算。1. HDFS:存储。3. YARN:调度。
2025-05-06 15:13:06
207
原创 Spark,集群搭建之Yarn模式
对应命令为:spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster /opt/module/spark-standalone/examples/jars/spark-examples_2.12-3.1.1.jar 10。进入/opt/module/spark-yarn/sbin,运行: ./start-all.sh 和 ./start-history-server.sh。
2025-05-06 15:10:50
675
原创 Spark,配置历史服务
进入 /opt/module/spark-standalone/conf/spark-default.conf.temple 先把名称改成spark-default.conf,再补充两个设置。启动hadoop的hdfs服务(start-dfs.sh),并在根目录创建目录directory。(注:4、5两步在上一条博客中直接一起配置了,所以这里可自行跳过)命令是 ./start-history-server.sh。四、修改spark-env.sh文件。命令是 ./start-all.sh。
2025-05-06 15:09:22
307
原创 Spark,集群搭建-Standalone
在之前的学习中我们有了一个软件包 spark.3.1.2-bin-hadoop3.2.tgz (eg我的在 /opt/software目录下)把这个软件包解压到 /opt/module 下(也可以自己决定解压到哪里)。进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。打开 /opt/module/spark-standalone/conf 中可看到修改文件内容前把 .template 后缀名都删掉再打开。
2025-05-06 15:08:07
882
原创 Spark,从0开始配置Spark的local模式
4.重命名,把解压后的文件夹改成spark-local。因为后续我们还会使用其他的配置方式,所以这里先重命名一次。mv是linux的命令,① 打开etc/profile.d/my_env.sh文件中,补充设置spark的环境变量。2.通过finalshell连接虚拟机,并将文件上传安装文件到 /opt/software下。进入到spark-local,运行命令spark-submit命令。在任务还处于运行状态时,可以通过hadoop100:4040来查看。注:一旦任务结束,则这个界面就不可访问了。
2025-05-06 15:06:10
407
原创 Spark ,hadop的组成
(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。每个框都是一个进程,可能都运行在一台主机上,但是,属于不同的集群。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。在Hadoop3.X中,hadoop一共有三个组成部分:MapReduce,Yarn,HDFS。Yarn和HDFS的关系说明:逻辑上分离,物理上在一起。
2025-04-21 08:28:18
322
原创 Spark;scp命令,rsync命令,ssh命令
伪分布式:也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。eg命令:scp -r /opt/module/jdk1.8.0_212/ root@hadoop102:/opt/module/jdk1.8.0_212/命令:rsync -av /opt/conf/1.txt root@roothadoop102:/opt/conf/$pdir/$fname :要拷贝的文件路径 / 名称。
2025-03-17 19:48:54
873
原创 Spark,Linux克隆
要注意,这里是虚拟机的名称,而不是它的hostname。(2)要将这两台克隆出来的虚拟机和hadoop100保存在同一个磁盘目录下,方便我们统一管理。克隆之后,我们得到了hadoop002,hadoop003,由于它们是从hadoop001直接扣克隆过来的,所以目前他们的ip和hostname都是很hadoop100是一样的,这里就需要修改下。linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!
2025-03-17 19:40:29
295
原创 配置虚拟机
这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。重启的命令是reboot,检查是否能Ping通外网。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的VM配置的虚拟机使用NAT时,它们的网段都是一致的。修改完成之后,esc退出编辑模式, :wq 保存退出。配置即让自己的虚拟机可以联网,和别的虚拟机通讯。三、设置虚拟机hadoop100的IP。具体设置为:进入虚拟机,修改对应的IP。
2025-03-03 19:30:36
379
原创 VM虚拟机的下载使用
即此我们已完成了Centos的创建与安装。一、上述过程完成后我们直接打开虚拟机。五、设置磁盘大小并拆分为多个文件。重启后使用账号密码进入该系统。三、默认安装位置并点击完成。六、完成安装后点击重启。设置完密码后点击完成。后为此界面 等待安装。( 放大上图代码 )
2025-02-25 14:15:53
195
原创 spark,vi的基本使用
1.如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file。d(一个小d)加←删除左侧一个单词,d(一个小d)加→删除右侧一个单词。vi编辑器有三种工作模式,分别为:命令模式,输入模式,底线模式。2.如果文件已存在,此时就打开这个文件,进入命令模式。底线命令模式:以:开始,通常用于文件的保存和退出。2.nyy(n+两个小y)复制当前行往下n行内容。2.ndd(n+两个小d)用来删除当前行往下n行。nyy(n+两个小y)复制当前行往下n行内容。1.yy(两个 y)复制光标所在行的内容。
2025-02-24 14:25:43
215
原创 spark,虚拟机(Linux)基本命令
会把aaa、这三个字符写入a.txt文件,并把之前的内容全部覆盖掉(等价于先删除了a.txt的内容,再写入aaa)会把文件的最尾部的内容显示在屏幕上,并且不断刷新,只要文件有更新,就可以看到最新的文件内容。命令是:tar -cvf test.tar 1.txt 2.txt 3.txt。-x 表示解压文件。示例1:把1.txt,2.txt,3.txt压缩到test.tar文件中。格式:tar -cvf 压缩包.tar 文件1 文件2 文件3。-c 建立一个压缩文件,把多个文件或文件夹压缩到一个新的文件中。
2025-02-24 14:22:55
436
原创 Spark
特点:提高处理能力:通过将任务分散到多个节点上并行计算,能够大大提高数据处理的速度和效率,从而可以在短时间内处理海量数据,满足大数据时代对数据处理的实时性和高效性要求。1.硬件资源有限:单机系统的计算能力、存储容量和内存空间都受限于单台计算机的硬件配置。1.无法处理大规模数据:随着业务的发展和数据量的增长,单机系统很快就会遇到存储和处理能力的瓶颈,无法应对海量数据的存储和分析需求。3.应用场景简单:主要用于个人办公、简单的游戏娱乐或小型企业的基本业务处理,如文字处理、单机游戏、简单的库存管理等。
2025-02-24 08:02:00
144
原创 Spark,虚拟机基本命令
波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。删除文件无需用户确如 rm -f +文件名 (慎用!ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。
2025-02-24 08:01:00
209
原创 图书馆管理
( service ):处理系统的业务规则和业务流程。UI:用户直接操作。调用Service层。( dao ):主要负责与数据存储系统。models:模型(操作文件,数据库)表示层:用户直接与之交互的层。
2024-12-30 08:16:20
240
原创 scala常见的库和框架
Akka 介绍 Akka 是一个用于构建高并发、分布式和容错应用程序的工具包。它基于 Actor 模型,在这个模型中,Actor 是并发计算的基本单元。每个 Actor 都有自己的邮箱来接收消息,并且可以发送消息给其他 Actor。 例如,在一个简单的聊天应用程序中,可以将每个用户看作是一个 Actor。当一个用户发送消息时,消息被发送到其他用户对应的 Actor 邮箱中,接收者 Actor 可以根据消息内容进行相应的处理。 应用场景 构建分布式系统,如大规模数据处理系统、微服务架
2024-12-15 13:20:45
285
原创 全文单词统计
Map是无序,要对其进行排序,要先把数组转成序列。List,Array。// W:表示一个非字(不是一个字 eg:空格,逗号,句号……//2.把字符串拆分为一个一个的单词,保存到数组。//3.统计每个单词出现的次数。//5.把结果写到一个文件中。// \\:表示正则表达式。object 全文单词统计 {//1.读入文件内容。// W+:多个非字。3.统计每个单词出现的次数。5.把结果写入到一个文件中。
2024-12-15 13:15:51
1567
原创 Scala统计成绩
val arr = it.next().split(",")//中文的逗号。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val arr = it.next().split(",")//中文逗号。//思路:1.对所有的同学按总分从高到低排名。
2024-12-15 13:14:11
2140
原创 scala条件匹配
判断:2000-2024年那一年是闰年哪一年是平年。在 Scala 中,条件匹配主要通过。表达式来实现,它类似于其他语言中的。输入一段数字,判断属于那个范围。
2024-12-15 13:10:48
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅