自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件同步2

把hadoop100上的环境变量配置和安装的两个软件都同步到hadoop101和hadoop102上去。在hadoop100中,添加新文件,5.txt, 6.txt, 7.txt。缺点是操作麻烦,要逐一操作。重新查看它的颜色,它现在已经变成执行的脚本了(如上右图)。rsync和scp区别是:rsync只对差异文件做更新,有了上面封装的xsync这个工具之后,我们就可以很方便地。五台机器,我们在A上新增加了文件,那如何去同步到B,这个部分的代码不需要会写,能看懂,了解即可。,尽可能让拷贝的文件之间保持一致。

2025-05-13 09:46:39 249

原创 配置Hadoop集群环境-使用脚本命令实现集群文件同步

在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。其中,第1项我们在之前克隆虚拟机的环节中已经完成了。2. 把一台机器装好,把module 拷贝到其他的机器。如果要拷贝的是文件夹,就把文件夹下的内容都拷贝。这台机器中已经安装了jdk和hadoop。然后把这台机器上的文件传递到另一台机器上。

2025-05-13 09:39:23 856

原创 安装Hadoop并运行WordCount程序

etc/profile 是系统级别的全局配置文件,当用户进行登录操作时,该文件会被执行,而 /etc/profile 脚本里包含了对 /etc/profile.d 目录下脚本的扫描和执行逻辑。这是指定要运行的具体示例程序名称。(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。所以,我们可以把需要用到的环境变量配置到一个新的.sh文件中,再把这个新的文件放在profile.d目录下。

2025-05-13 09:28:00 960

原创 克隆虚拟机组成集群

在随后的设置中,请注意两点:(1)要给其他两台虚拟机取不同的名字。要注意,这里是虚拟机的名称,而不是它的hostname。得到了hadoop101,hadoop102,由于它们是从hadoop100直接扣克隆过来的,所以目前他们的ip和hostname都是很hadoop100是一样的,这里就需要修改下。hosts文件中的主机名和ip地址是否与finalshell中的连接的主机名以及对应的虚拟的ip地址一致。vm软件提供了克隆的功能,它可以允许我们从一台虚拟机上快速克隆出其他的一模一样的主机。

2025-05-13 09:22:55 430

原创 配置hosts

yum中的源是指它下载软件的地址。把虚拟机上的软件yum想象成你自己开的一家商场,那么yum的源就是你的供货商。映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。需要管理员权限才能去修改它。浏览器打开了host文件,发现了我们加入的这一行代码,然后,去访问127.0.0.1这个ip地址。网络上的免费而稳定的源有很多,这里我们选择阿里云的源。现在我们可以通过finalshell这个工具来连接我们的远程服务器,不过我们连接主机的时候,需要。

2025-05-13 09:19:59 746

原创 VI编辑器

2)按下o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)当我们通过VI命令第一次打开文件的时候,进入的就是命令模式。2. 如果文件已经存在,此时就打开这个文件,进入命令模式。从命令模式切换到底线命令模式,输入: 进入底线命令模式。由于没有鼠标,我们的操作都是用键盘来控制光标的。它是linux的内置命令,所以还是以命令的方式来运行。(1)按下i: 进入编辑模式,定位到当前光标前面。来,我们实操一下,如何从命令模式进入输入模式?(3)在输入模式下,按下ESC退回到命令模式。

2025-05-13 09:15:19 273

原创 linux操作系统命令(二)

ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。ls 用来显示文件夹下的文件信息,more用来翻页,而 | 就可以把前一个的结果作为输入传递给more。-c 建立一个压缩文件,把多个文件或者文件夹压缩到一个新的文件中。它的功能类似如cat,不过它会翻页的形式显示,适合大文件查看。

2025-05-13 09:12:59 422

原创 03 linux操作系统命令

1. 几乎主流的文件系统都是从/根目录开始的Linux也不例外,而Windows文件系统会以盘符来区分不同文件系统。3. ~波浪线,当前用户的home目录,比如root用户home目录是/root。2. 相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。,意味着针对Linux的操作,大多数时间是在针对Linux文件系统操作。3. mkdir -p 命令: 创建目录,如果父级目录不存在,就建立一个。下面我们来学习查看文件相关的命令,一共有三个:ls, cd, pwd。

2025-05-13 09:11:02 1165

原创 安装操作系统

CentOS 在 Linux 内核的基础上,添加了一系列的软件包、工具和配置,形成了一个完整的、可直接使用的操作系统。例如,CentOS 系统中的文件系统管理、网络服务管理等功能,都是依赖于 Linux 内核提供的底层支持来实现的。Linux:是一种开源的操作系统内核,它提供了操作系统最核心的功能,如进程管理、内存管理、文件系统管理、设备驱动管理等底层架构和功能。Linux 内核是整个 Linux 生态系统的基础和核心,为各种硬件设备提供了驱动支持,使得计算机的硬件资源能够被有效地管理和利用。

2025-05-13 09:08:06 378

原创 VM创建虚拟机并安装操作系统

如果我们选择这个命令,并选中一个现有的iso文件,那么就表示我们将创建一个由这个映像文件而安装的系统。6.会弹出“已准备好执行请求的操作”,点击“继续”,等待几分钟会弹出“安装完成”,点击“完成”,最后输入产品的密钥。首先进入欢迎页面,点击“下一步”,点击“我接受许可协议中的条款”,继续点击“下一步”2. 选择“设置类型”,我们选择“典型”(“自定义”是给高级用户提供的),点击“下一步”好了,当我们安装完了Vm之后,我们就可以启动它来创建新的虚拟机了。3.选择典型的方式,然后点击下一步,进入界面。

2025-05-13 09:05:04 378

原创 Yarn-概述

通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。但是实际中,资源是有限的,并且在繁忙的群集上, 应用程序通常将需要等待其某些请求得到满足。现在,如果B用户在其他作业仍在运行时开始第二个作业,它将与B的另一个作业共享其资源,因此B的每个作业将拥有资源的四分之一,而A继续将拥有一半的资源。

2025-05-13 09:01:42 488

原创 scala-流量统计

本文介绍了如何使用Hadoop MapReduce框架统计日志文件中每个手机号的总上行流量、总下行流量和总流量。首先,定义了一个FlowBean类,用于封装手机号、上行流量和下行流量,并实现Writable接口以支持序列化。接着,编写了FlowMapper类,在map方法中切割日志数据,提取手机号和流量信息,并封装为FlowBean对象。然后,编写了FlowReducer类,在reduce方法中汇总每个手机号的总流量并输出结果。最后,通过FlowDriver类配置并启动MapReduce任务。运行程序后,可

2025-05-13 08:44:18 761

原创 spark-转换算子

这个函数 f 接收一个输入类型为 T 的元素,返回一个类型为 U 的元素。f: T => Unit:这是一个函数,它接收一个类型为 T 的元素(T 为 RDD 中元素的类型),并对该元素执行相应的操作,但不返回任何值(返回类型为 Unit)。:筛选出 RDD 中满足函数 f 条件(即 f 函数返回 true)的元素,返回一个新的 RDD,新 RDD 中的元素类型与原 RDD 相同。:对 RDD 中的每个元素应用函数 f,函数 f 返回一个可遍历的集合,然后将这些集合中的元素扁平化合并成一个新的 RDD。

2025-05-07 15:47:25 764

原创 Spark集群搭建之Yarn模式

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-06 10:39:58 878

原创 在sheel中运行Spark

按照“移动数据不如移动计算”的理念,Spark在进行任务调度时,会尽可能地将任务分配到其所要处理数据块的存储位置。在部分分区数据丢失时,Spark可以通过这个依赖关系重新计算丢失的分区数据,而不是对RDD的所有分区进行重新计算。Resilient Distributed Dataset 叫做弹性分布式数据集,是Spark中最基本的数据抽象,是分布式计算的实现载体,代表一个不可变,可分区,里面的元素并行计算的集合。:immutable。:集合中的数据可以被并行的计算处理,每个分区数据被一个Task任务处理。

2025-05-06 10:28:25 991

原创 如何快速在idea中希望Spark程序

目录下创建一个 Java 类,编写一个简单的 Spark 程序。:如果需要,可以在 IntelliJ IDEA 中配置环境变量,例如。(或 Scala,如果你使用 Scala 编写 Spark 程序)。:确保 Spark 和 Hadoop 的版本与集群环境一致。(可选):根据需要添加 JVM 参数,例如。替换为集群的 Master 地址,例如。:选择已安装的 JDK(至少 1.8)。,推荐使用 Maven,因为它更常用。:如果运行在集群上,需要在代码中将。:输入运行配置名称,例如。:选择你的项目模块。

2025-04-28 19:55:54 760

原创 如何搭建spark yarn模式的集群

搭建 Spark on YARN 模式的集群需要完成 Hadoop 和 Spark 的安装与配置,并确保它们能够协同工作。

2025-04-28 19:53:32 2010

原创 Spark的local和standalone模式

安装Spark的过程就是下载和解压的过程。接下来的操作,我们把它上传到集群中的节点,并解压运行。1.启动虚拟机2.通过finalshell连接虚拟机,并上传安装文件到 /opt/software下3.解压spark安装文件到/opt/module下tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module/4.重命名,把解压后的文件夹改成spark-local。因为后续我们还会使用其他的配置方式,所以这里先重命名一次。mv是linux的命令,配置环境变

2025-04-22 09:54:19 1151

原创 spark和Hadoop之间的对比和联系

为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。此外,Spark 还支持 Structured Streaming,提供了更高级的、基于 SQL 的实时流处理模型,使得实时数据处理更加容易和高效。这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。

2025-04-22 08:34:38 1017

原创 案例 --流量统计

但是,这里有一个问题:map和reduce这两个函数都是通过key,value的方式来进行数据交互的,这里的key可以设置为手机号,而value值就比较复杂,它有两个信息:上行流量和下行流量要统计。而这就必然引出一个新的问题:因为key,value是需要进行磁盘的读写的,所以它们必须要能序列化,如果我们创建一个新的类来描述流量数据,就必须也实现序列化。在map阶段,我们读入每一行数据,通过空格分割,切分字段,抽取手机号,上行流量和下行流量。在reduce阶段,我们把相同手机号的数据进行求和汇总。

2025-04-15 09:00:00 204

原创 一分钟教你数据清洗

(一)ETL介绍(一)ETL介绍“ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。在Transform的过程中,我们经常会做数据清洗这个操作。它是指对采集到的原始数据进行预处理,以去除错误、重复、不完整或不一致的数据,使数据符合分析要求的过程。

2025-04-02 15:46:02 628

原创 mapreduce的工作原理

如果指定了 Combiner(相当于本地 Reduce),Map 端会先对相同 Key 的 Value 做局部聚合,减少网络传输量。例如,如果有 3 个 Reduce 任务,则 Map 输出会被分成 3 个分区。每个分区内的数据按 Key 排序(如字典序),以便 Reduce 任务合并。如果某个 Task 运行过慢,系统会启动一个相同任务的备份,取先完成的结果。,MapReduce 能高效处理 PB 级数据,并隐藏分布式计算的复杂性。(R 是 Reduce 任务数),决定它属于哪个 Reduce 任务。

2025-03-31 19:52:33 951

原创 hadoop集群的常用命令

hadoop fs -count / # 统计文件数量,返回的数据是目录个数,文件个数,文件总计大小,输入路径。hadoop fs -du -s -h / #统计这个文件夹总大小,返回的数据是,文件夹大小,备份总大小。hadoop fs -du -h / # 统计文件夹下每个文件的大小。把hdfs一堆小文件合并到本地的一个文件中。查看yarn正在运行的任务列表。查找yarn已经完成的任务列表。查找yarn所有任务列表。

2025-03-31 19:46:44 186

原创 大数据技术树状图总结

文档网址。

2025-03-04 10:04:18 261

原创 host配置

Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的)如果是win10,它在C:\Windows\System32\drivers\etc\hosts。测试方式:用 finalshell新建一个连接,并使用hadoop100这个主机名来连接。把虚拟机上的hosts文件修改一下。修改完hosts之后,

2025-03-04 09:33:55 666

原创 vm +centos虚拟机

vm +centos虚拟机

2025-03-03 19:31:34 87

原创 虚拟机的ip配置

这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。具体操作是:点击编辑→虚拟网络编辑器。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。2.NAT设置 → 192.168.10.2。具体设置为:进入虚拟机,修改对应的IP。(3)设置虚拟机的IP。检查是否能Ping通外网。

2025-03-03 19:27:11 419

原创 用VI编辑器的打开,创建和保存文件的基本操作

【代码】用VI编辑器的打开,创建和保存文件的基本操作。

2025-02-25 11:24:35 126

原创 vi编译器

5.如何在命令模式下保存内容并退出编辑器?3.如何从命令模式切换到编辑模式?4.如何从编辑模式切换到命令模式?7.如何粘贴内容到当前行的下一行?命令模式,输入模式,底线模式。2.第一次进入的是什么模式?1.vi编辑器有哪三种模式。6.如何复制多行内容?8.如何删除一行内容?

2025-02-25 11:08:08 162

原创 Linux的命令2

移动==重命名

2025-02-25 10:09:18 195

原创 VMware的Linux命令

创建文件和创建文件夹。

2025-02-25 08:32:03 184

原创 大数据概念与30秒教你下载VMware

保存(hadoop),计算。mapReduce是基于磁盘的计算。阶段3 实现大数据时代(不放磁盘,放内存)1 概念:大数据指无法在一定时间内使用常规软件工具进行捕捉,管理和处理的数据集合。阶段2 大数据时代---分布式处理。4 发展脉络:阶段1 单机时代(业务不复杂)3 应用场景:视频推荐,电商推荐,零售,金融。2 特点:大量,高速,多样,低价值密度。开启虚拟机 选中文,设置密码。

2025-02-19 14:26:08 233

原创 Scala的高阶函数

reduce接受两个参数返回一个参数,例如对数组中的所有元素求和,通过调用reduce来实现(1,2,4,3).reduce((x,y)=>(x+y)通过把集合中的第一个元素赋值给x,第二个元素赋值给y,即x=1, y=2,并对这两个值求和。对不变序列的每个元素执行指定的二元规约操作。如果传递的函数的返回值为真,将保留元素中的值,如果为假则过滤元素。假设定义一个数组Arr(1,2,3),通过数组调用map,即Arr(1,2,3).map(x=>x+1),返回值会形成一个新的数组Array(2,3,4)。

2024-12-23 16:15:00 849

原创 scala 的继承与多态

从调用父类构造器的语法中可以看出定义类的同时也调用了一个构造器,并通过extends关键字在表明继承关系的同时,也明确了调用类中的哪一个构造器。下面通过介绍方法的继承和方法的重写进一步说明Scala中子类继承父类的特性,结合Scala的多态相关案例详细说明方法的继承和多态。关于继承,Java中也有相关概念,Scala中继承的定义为在原有类的基础上定义一个新类,原有类称为父类,新类称为子类。下面介绍父类构造器的基础知识和语法规则以及辅助构造器的调用规则,然后结合相关案例进一步说明继承和构造器调用的应用。

2024-12-23 15:53:49 762

原创 隐式对象和泛型

list(1,2,3,4,5)==>中间元素的下标 =长度/2 ===>3。def 函数的名字(参数1,类型1):返回值的类型={需求:写一个函数,用来获取列表中的中间元素。

2024-12-11 17:05:20 220 1

原创 函数的隐式参数

把BaseUser 通过隐式转换,改成一个新类型,而这个类型有这个新的方法。函数有一个默认参数值,在不传入具体的实参时,就会自动使用这个默认值。:给之前的baseUser添加新的功能,但是,不要直接去改代码。:拓展已有类的功能,而不需要去改之前的代码。2.代码写一个单独文件,要用的时候就导入。=1*2*3*4*5。=== 一个隐式转换函数 +类。

2024-12-11 16:05:14 296

原创 scala之隐式转换

他有失败的时候(double-->int),有成功的时候。例如 int -->double。

2024-12-09 17:07:22 371

原创 Scala的正则表达式二

把字符串中的身份证号打码

2024-12-09 15:59:18 505

原创 scala的正则表达式

定义一个规则,正则表达式查找。 在目标字符串中,找到符合正则1表达式规则要求的 单个val reg="[^ab]".r多个字符1. . 表示 除了换行之外的其他任意单个字符2. \d 等于【0-9】匹配一个数字3. \D 除了\d之外的其他任意字符,表示非数字4. \w 等价于【0-9A-Za-z_】63个字符5. \W 除了\w之外的任何字符。表示非字6.\s 表示一个空格7.\s 表示一个非空格val reg =".".r全部代码obje

2024-12-04 17:02:16 989

原创 match case之模式匹配的案例

现在有一个数组Array(1,2,3,4),我希望能定义三个变量,他们的值分别是数组中的第1,2,3个元素的值。match case 能根据 类名和属性的信息,匹配到对应的类。1.匹配的时候,case class的属性个数要对上。2.属性名不需要一一对应。哪些是1971年的老板。

2024-12-04 15:50:22 436

空空如也

空空如也

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

TA关注的人

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