自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 spark

Standalone模式是Spark自带的资源调度引擎,构建一个由Master + Worker构成的Spark集群,Spark运行在集群中。这个要和Hadoop中的Standalone区别开来。Master和Worker是Spark的守护进程、集群资源管理者,即Spark在特定模式(Standalone)下正常运行必须要有的后台常驻进程。Standalone模式是Spark自带的资源调度引擎,构建一个由Master + Worker构成的Spark集群,Spark运行在集群中。添加Worker节点。

2025-05-12 19:42:40 230

原创 spark

Hadoop伪分布式的安装:https://blog.csdn.net/weixin_67281754/article/details/130544874。Hadoop的安装与使用:https://blog.csdn.net/weixin_67281754/article/details/130544582。cp ./bin/sbt-launch.jar ./ //把bin目录下的sbt-launch.jar复制到sbt的安装目录下。使用命令进入spark-shell环境。

2025-05-12 19:41:58 267

原创 spark

Spark 引进了弹性分布式数据集 RDD (Resilient DistributedDataset) 的抽象,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部分丢失,则可以根据“血统”(即允许基于数据衍生过程)对它们进行重建。MapReduce 中计算结果需要落地,保存到磁盘上,这样势必会影响整体速度,而 Spark 支持 DAG 图的分布式并行计算的编程框架,减少了迭代过程中数据的落地,提高了处理效率。Spark还支持SQL查询,流式计算,图计算,机器学习等。

2025-05-12 19:41:23 408

原创 spark

为了实现这样的要求,同时获得最大灵活性,spark支持在各种集群管理器(cluster manager)上运行,包括hadoop yarn、apache mesos,以及spark自带的一个简易调度器,叫做独立调度器。spark可以用于,交互式查询(spark sql)、实时流处理(spark streaming)、机器学习(spark mllib)和图计算(graphx)。1、快:与hadoop的mapreduce相比,spark基于内存的运算要快上100倍以上,基于硬盘的运算也要快10倍以上。

2025-05-12 19:40:38 386

原创 spark

Python 2.7.5 版本已经不能满足当前编程环境需求,所以要安装较高版本的Python3,但Python 2.7.5 版本不能卸载。安装Spark之前需要安装Linux系统、Java环境(Java8或JDK1.8以上版本)和Hadoop环境。大数据软件基础(3) —— 在VMware上安装Linux集群-CSDN博客。大数据存储技术(1)—— Hadoop简介及安装配置-CSDN博客。安装的版本为Python 3.6.8。1、查看当前环境下的Python版本。(二)安装Python3版本。

2025-05-12 19:39:57 160

原创 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:37:16 270

原创 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:36:45 416

原创 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:36:10 262

原创 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:35:30 165

原创 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:34:40 433

原创 spark

因为 YARN 中运行 Spark 需要用到 Spark 的一些类和方法,如果不上传到 HDFS,每次运行 YARN 都要重新上传一次,速度较慢。将log4j.properties.template重命名为log4j.properties,并修改日志级别为 WARN,减少打印的日志数量,提高系统性能。这些配置用于启用事件日志记录、指定日志存储位置和压缩方式,以及设置 YARN 历史服务器地址和 Spark 相关的 JAR 包路径。这一步骤确保在搭建新的 YARN 集群时,不会受到旧集群的干扰。

2025-05-12 19:33:49 326

原创 spark

例如,在数据读取和预处理阶段可能需要较少的资源,而在复杂的计算和聚合阶段可能需要更多的资源。容量调度可以为不同的用户或业务部门分配固定的资源容量,保证每个用户或部门都能获得稳定的计算资源,适用于多用户共享集群的场景。在实际工作场景中,硬件集群通常只有一套,选择 YARN 作为统一的资源管理平台,可以更好地整合资源,实现多种分布式计算任务的协同运行,从整个技术架构层面来说,YARN 是更为合适的选择。在开始搭建 Spark 的 YARN 集群之前,需要先关闭之前的 StandAlone 老集群。

2025-05-12 19:32:57 893

原创 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:31:30 193

原创 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:30:27 748

原创 【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:29:05 260

原创 spark

命令为:[root@hadoop100 sbin]# spark-submit --class WordCount_online --master yarn /opt/module/original-untitled-1.0-SNAPSHOT.jar /wcinput /output1。// 写一个spark程序,统计input目录下所有文本文件中单词的词频。// 将所有分区的数据合并成一个分区。// 停止 SparkContext。// 配置 Spark 应用程序。// 读取目录下的所有文本文件。

2025-05-06 15:11:47 685

原创 如何在idea中写spark程序

生成好的JAR包就出现在了project目录中的out/artifacts文件夹中,直接ctrl+c拷贝出来,并使用ftp工具将数据文件kmeans_data.txt与JAR包传输到我们的集群主节点中,同时将 kmeans_data.txt存储到HDFS中,这样就可保证每个节点都有一份数据,不然需要使用parallelize进行分发,具体我们这里不详细描述,可以参考OREILLY图书《Learning Spark》。由于运行环境已经有Scala相关类包,所以在这里去除这些包只保留项目的输出内容。

2025-04-28 19:58:31 1054

原创 spark yarn模式的集群

spark压缩包在/opt/modules 将spark解压到/opt/installs。#因为YARN中运行Spark,需要用到Spark的一些类和方法。#如果不上传到HDFS,每次运行YARN都要上传一次,比较慢。## 22行左右设置JAVA安装目录、HADOOP和YARN配置文件。#所以自己手动上传一次,以后每次YARN直接读取即可。将解压后的文件重命名,并对设置一个软连接。修改spark-env.sh配置文件。修改级别为WARN,打印日志少一点。## 历史日志服务器。

2025-04-28 19:55:06 392

原创 从零开始配置spark—local

如果一切配置正确,你将看到 PySpark 的启动界面,并且可以在其中执行 Spark 相关的操作。,选择合适的版本进行下载。Spark 依赖 Java 运行环境,你需要安装 Java 8 或更高版本。同样,如果配置无误,会进入 Spark Shell 的交互界面。启动 Spark 自带的 Shell 进行验证。替换为你实际解压 Spark 的路径。

2025-04-21 10:17:39 284

原创 spark和hadoop的区别跟联系

Hadoop的MapReduce模型依赖于磁盘存储,进行计算时需要多次从磁盘读取数据,处理后再写回磁盘,这导致了较高的延迟和I/O开销。Spark在内存计算方面具有明显优势,它的批处理速度比Hadoop的MapReduce快近10倍,内存中的数据分析速度快近100倍。它可以在内存中缓存数据,提高了处理流式数据和迭代式数据的性能,适合于需要快速响应的实时数据处理场景。Hadoop适合处理离线的静态的大数据,而Spark适合处理离线的流式的大数据。spark是一种纯粹的面向对象的语言,每一个值都是对象。

2025-04-21 08:26:14 439

原创 案例——流量统计

基于跟老师哔哩哔哩教学一步步做,作业内容第一步。

2025-04-08 15:42:02 110

原创 案例——流量统计

以上是第一节课的内容。

2025-04-08 15:39:15 88

原创 mapreduce的工作原理

Shuffle的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce中的Shuffle更像是洗牌的逆过程,把一组无规则的数据尽量转换成一组具有一定规则的数据。为什么MapReduce计算模型需要Shuffle过程?我们都知道MapReduce计算模型一般包括两个重要的阶段:Map是映射,负责数据的过滤分发;Reduce是规约,负责数据的计算归并。Reduce的数据来源于Map,Map的输出即是Reduce的输入,Reduce需要通过Shuffle来获取数据。从M

2025-03-31 19:41:53 564

原创 hadoop集群的常用命令

改名 mv spark-2.2.0-bin-hadoop2.7.tgz spark-2.2.0。这里我用5台机器,1个Master资源调度,3个Worker处理任务,1个Cient提交任务。解压 tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz。Hadoop生态圈里面的一个资源调度框架,Spark是可以基于Yarn来计算的,最流行。进入到 /opt/bigdata/spark-2.2.0/conf/下。一种资源调度框架,支持docker,前景最好。

2025-03-31 19:40:10 197

原创 spark

(7)查看 Master 资源监控 Web UI 界面: http://master:8080(如果master不行用master IP地址)(具体原因是没在Windows里配置文件)(9)查看 slave1 的 Master 资源监控 Web UI,稍等一段时间后,slave1节点的 Master 状态。(6)启动slave2的单独Master节点,此时slave1节点MAster状态处于备用状态。(1)修改配置文件(在local基础上修改配置文件)(3)修改spark-env.sh 文件添加如下配置。

2025-03-17 19:35:54 125

原创 spark

Shark( Hive on Spark): Shark基本上就是在Spark的框架基础上提供和Hive一样的H iveQL命令接口,为了最大程度的保持和Hive的兼容性,Shark使用了Hive的API来实现queryParsing和 Logic Plan generation,最后的PhysicalPlan execution阶段用Spark代替Hadoop MapReduce。由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。

2025-03-12 09:08:17 274

原创 spark

本文将详细介绍Spark的一些基本命令及其使用示例,帮助开发者更好地理解和应用Spark。sortBy(func, [ascending], [numTasks]):使用func先对数据进行处理,按照处理后结果排序。distinct([numTasks]):对RDD中元素执行去重操作,参数表示任务的数量,默认值和分区数保持一致。filter(func):过滤,返回一个新的RDD,由func的返回值为true的那些元素组成。在Spark中,转换操作是指从一个RDD到另一个RDD的操作。

2025-03-03 19:46:24 166

原创 Spark

1.vi 编辑器有哪三种模式?

2025-03-03 19:38:40 878

原创 Spark 2

会把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:50:33 236

原创 Spark 基本命令

波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。删除文件无需用户确如 rm -f +文件名 (慎用!ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。

2025-02-24 14:48:36 157

原创 Spark

特点:提高处理能力:通过将任务分散到多个节点上并行计算,能够大大提高数据处理的速度和效率,从而可以在短时间内处理海量数据,满足大数据时代对数据处理的实时性和高效性要求。1.硬件资源有限:单机系统的计算能力、存储容量和内存空间都受限于单台计算机的硬件配置。1.无法处理大规模数据:随着业务的发展和数据量的增长,单机系统很快就会遇到存储和处理能力的瓶颈,无法应对海量数据的存储和分析需求。3.应用场景简单:主要用于个人办公、简单的游戏娱乐或小型企业的基本业务处理,如文字处理、单机游戏、简单的库存管理等。

2025-02-24 14:41:07 417

原创 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:28:57 308

原创 Scala

/实例化一本书,保存倒List。//保存图书,将图书写入文件。//加载图书,从文件中读入。//图书,数据操作层。

2024-12-23 11:33:58 192

原创 Scala

如果我们真得在前面的项目配置上进行工作的话,spring-boot-starter-scala-user 可以编译成功,可以打包成功,可以发布成功,但是,在整个过程中 Maven 无法识别 Scala 代码。所以,如果要让基于 spring-boot-starter-scala 的想法可以实现,我们需要将 scala-maven-plugin 从 spring-boot-starter-scala 项目中移到 spring-boot-starter-scala-user 项目。是不是更加简洁和方便了?

2024-12-15 09:04:55 436

原创 Scala

Spark本身就是使用Scala语言开发的,spark和flink的底层通讯都是基于的高并发架构akka开发,然而akka是用scala开发的,Scala与Spark可以实现无缝结合,因此Scala顺理成章地成为了开发Spark应用的首选语言。最简单的方法:右键项目,在弹出的菜单中,选择Add Framework Surport ,在左侧有一排可勾选项,找到scala,勾选即可。打开菜单 [File] → [Settings] → [Plugins],搜索scala,点击[install]

2024-12-15 09:04:11 133

原创 Scala

Scala中算术操作符(+、-、*、/、%)的作用和Java是一样的,位操作符(&、|、>>、<<)也是一样的。特别强调的是,Scala的这些操作符其实是方法。注:使用关键字var或val声明变量时,后面紧跟的变量名称不能和Scala中的保留字重名,而且变量名可以以字母或下划线开头,且变量名是严格区分大小写的。Scala有两种类型的变量,一种是使用关键字var声明的变量,值是可变的;声明变量时,我们可以不给出变量的类型,因为在初始化的时候,Scala的类型推断机制能够根据变量的初始化的值自动推算出来。

2024-12-15 09:03:18 141

原创 Scala

函数式编程相对于面向对象编程,更加抽象,好处是,代码可以非常简洁,更多采用常量而不是变量来解决问题,这样额外带来的好处:在线程并发时,可以减少甚至杜绝多线程并发安全问题,特别适合于应用在处理高并发场景、分布式场景下的问题。例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值、数字等)在内,连函数也是对象。表现为可以重载操作符,跟Python很像,在一定程度上Scala是Java和Python生的孩子,只不过遗传基因比较大的卵子是Java提供的,而比较小的那颗精子则是Python提供的。

2024-12-15 09:02:36 346

原创 Scala

Scala中的函数与其他语言中的函数类似,包含函数名、参数列表、函数体和返回值类型。这个函数的名称是add,参数列表为x和y,类型均为Int,返回值类型也是Int。另一个值得注意的Scala特性是它支持类型推断,这使得编译器能够推断代码中变量和表达式的类型,无需显式的类型注释。这些类型的值可以通过字面量表示。Scala中函数的返回值可以使用return语句显式返回,也可以使用函数体中最后一个表达式的值隐式返回。其中,functionName是函数的名称,param1、param2等是函数的参数列表。

2024-12-15 09:00:56 139

原创 Scala

创建一个副本(默认为浅拷贝,即拷贝对象的引用,拷贝中数据改变原值也会改变)collect 通过执行一个并行计算(偏函数),得到一个新对象。PartialFunction(入参,出参) 即只处理指定数据。在序列中查找第一个符号偏函数定义的元素,并执行偏函数计算。聚合计算,是柯理化方法,参数是两个方法。类型,值,顺序都要匹配,不比较长度。取下标对应的值,必须为Int类型。并数组,结果由冒号右边类型决定。冒号跟着集合,在数组前或后加值。合并集合,并返回一个新的数组。序列中是否包含指定对象。不分区计算,串型计算。

2024-12-15 08:59:50 409

原创 Scala

在现代软件开发中,Scala 以其强大的功能性和面向对象的特性,成为了许多开发者的选择。Gradle 作为 Java 生态系统中一个流行的构建工具,支持通过插件扩展其功能,包括对 Scala 项目的支持。通过本文的详细介绍,你应该已经了解了如何在 Gradle 中配置 Scala 插件的基本步骤和操作。Scala 插件为 Gradle 提供了对 Scala 项目的全面支持,使得构建和管理 Scala 项目变得简单和高效。配置好 Scala 插件和依赖后,你可以使用 Gradle 的命令来构建和测试项目。

2024-12-15 08:59:03 120

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除