- 博客(105)
- 收藏
- 关注
原创 文件同步2
有了上面封装的xsync这个工具之后,我们就可以很方便地把hadoop100上的环境变量配置和安装的两个软件都同步到hadoop101和hadoop102上去。我们提出一个更加高级的需求: 现在有A,B,C,D,E五台机器,我们在A上新增加了文件,那如何去同步到B,C,D,E上相同的目录下呢?rsync和scp区别是:rsync只对差异文件做更新,而scp是把所有文件都复制过去,所以它的效果更高一些。此时,我们去查看文件,可以看到它的颜色是灰色的,不具备执行权限(如下左图)。(2)在该文件中编写如下代码。
2025-05-14 14:37:17
299
原创 配置Hadoop集群环境-使用脚本命令实现集群文件同步
在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。任务1:在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。任务2:在hadoop101上操作,将hadoop100中/opt/module目录下所有目录拷贝到hadoop102上。现在的目标是:要把hadoop100上的jdk文件夹拷贝到hadoop101中的相同的目录下。(1) 集群文件同步。
2025-05-14 14:36:40
452
原创 安装Hadoop并运行WordCount程序
etc/profile 是系统级别的全局配置文件,当用户进行登录操作时,该文件会被执行,而 /etc/profile 脚本里包含了对 /etc/profile.d 目录下脚本的扫描和执行逻辑。6.-C /opt/module/:其中 -C 选项表示切换目录(change directory),后面跟着的 /opt/module/ 是指定解压后的文件存放的目标目录。5. -f:指定要处理的归档文件名,后面跟着的 jdk-8u212-linux-x64.tar.gz 就是要解压的文件。
2025-05-14 14:36:08
962
原创 克隆虚拟机组成集群
在随后的设置中,请注意两点:(1)要给其他两台虚拟机取不同的名字。要注意,这里是虚拟机的名称,而不是它的hostname。克隆之后,我们得到了hadoop101,hadoop102,由于它们是从hadoop100直接扣克隆过来的,所以目前他们的ip和hostname都是很hadoop100是一样的,这里就需要修改下。hosts文件中的主机名和ip地址是否与finalshell中的连接的主机名以及对应的虚拟的ip地址一致。vm软件提供了克隆的功能,它可以允许我们从一台虚拟机上快速克隆出其他的一模一样的主机。
2025-05-14 14:35:36
218
原创 克隆虚拟机组成集群
在随后的设置中,请注意两点:(1)要给其他两台虚拟机取不同的名字。要注意,这里是虚拟机的名称,而不是它的hostname。克隆之后,我们得到了hadoop101,hadoop102,由于它们是从hadoop100直接扣克隆过来的,所以目前他们的ip和hostname都是很hadoop100是一样的,这里就需要修改下。hosts文件中的主机名和ip地址是否与finalshell中的连接的主机名以及对应的虚拟的ip地址一致。vm软件提供了克隆的功能,它可以允许我们从一台虚拟机上快速克隆出其他的一模一样的主机。
2025-05-14 14:32:10
256
原创 配置hosts
现在我们可以通过finalshell这个工具来连接我们的远程服务器,不过我们连接主机的时候,需要填入对方的ip地址,这个很麻烦。hosts 文件是一个本地的文本文件,它的作用是将主机名(www.douyin.com)映射到对应的 IP 地址,在 DNS(域名系统)解析之前,系统会先查询 hosts 文件来确定目标主机的 IP 地址。Yum是一个linux工具,用来从网络下载安装软件到linux操作系统中,在此之前,我们先要确保虚拟机的网络是通畅的(ping www.baidu.com)。
2025-05-14 14:31:40
327
原创 VI编辑器
命令模式:在这个模式下,所敲的按键编辑器都理解为命令,以命令来驱动执行不同的功能。当我们通过VI命令第一次打开文件的时候,进入的就是命令模式。具体来说yy(两个小y)复制光标所在行的内容,nyy(n+两个小y)复制当前行往下n行内容,例如3yy就是复制三行。vi编辑器有三种工作模式,分别是命令模式,编辑模式,底线模式。2)按下o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)从命令模式切换到底线命令模式,输入: 进入底线命令模式。它是linux的内置命令,所以还是以命令的方式来运行。
2025-05-13 11:19:24
309
原创 linux操作系统命令(二)
我们一般的操作是:双击文件,使用相关的软件去自动打开。ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,要怎么办呢?因为在linux下,我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。会把111写入a.txt这个文件中,把之前的内容删除掉。ls 用来显示文件夹下的文件信息,more用来翻页,而 | 就可以把前一个的结果作为输入传递给more。
2025-05-13 11:18:50
298
原创 03 linux操作系统命令
Linux号称万物皆文件,意味着针对Linux的操作,大多数时间是在针对Linux文件系统操作。pwd可以输出当前路径。3. mkdir -p 命令: 创建目录,如果父级目录不存在,就建立一个父级目录。3. ~波浪线,当前用户的home目录,比如root用户home目录是/root。1. .目录或文件名以.开始表示是隐藏的文件,如果路径以点开始表示当前路径。在linux中,使用touch命令来创建文件,使用mkdir来创建目录。下面我们来学习查看文件相关的命令,一共有三个:ls, cd, pwd。
2025-05-13 11:18:20
381
原创 安装操作系统
CentOS 在 Linux 内核的基础上,添加了一系列的软件包、工具和配置,形成了一个完整的、可直接使用的操作系统。例如,CentOS 系统中的文件系统管理、网络服务管理等功能,都是依赖于 Linux 内核提供的底层支持来实现的。Linux:是一种开源的操作系统内核,它提供了操作系统最核心的功能,如进程管理、内存管理、文件系统管理、设备驱动管理等底层架构和功能。Linux 内核是整个 Linux 生态系统的基础和核心,为各种硬件设备提供了驱动支持,使得计算机的硬件资源能够被有效地管理和利用。
2025-05-13 11:17:50
187
原创 VM创建虚拟机并安装操作系统
如果我们选择这个命令,并选中一个现有的iso文件,那么就表示我们将创建一个由这个映像文件而安装的系统。6.会弹出“已准备好执行请求的操作”,点击“继续”,等待几分钟会弹出“安装完成”,点击“完成”,最后输入产品的密钥。首先进入欢迎页面,点击“下一步”,点击“我接受许可协议中的条款”,继续点击“下一步”2. 选择“设置类型”,我们选择“典型”(“自定义”是给高级用户提供的),点击“下一步”好了,当我们安装完了Vm之后,我们就可以启动它来创建新的虚拟机了。3.选择典型的方式,然后点击下一步,进入界面。
2025-05-13 11:17:17
328
原创 Yarn-概述
通过为每个组织分配专门的队列,然后再为每个队列分配一定的集群资源, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。队列内部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部,资源的调度是采用的是先进先出(FIFO)策略。但是实际中,资源是有限的,并且在繁忙的群集上, 应用程序通常将需要等待其某些请求得到满足。现在,如果B用户在其他作业仍在运行时开始第二个作业,它将与B的另一个作业共享其资源,因此B的每个作业将拥有资源的四分之一,而A继续将拥有一半的资源。
2025-05-13 11:16:46
347
原创 RDD案例-数据清洗
这个案例展示了如何使用 RDD 进行基本的数据清洗操作,包括过滤无效数据、格式转换和异常处理。println(s"清洗掉的无效记录: ${rawCount - cleanedCount}")处理更复杂的格式:使用正则表达式或第三方库(如 OpenCSV)解析复杂 CSV。假设你有一个包含用户行为日志的数据集,需要清洗其中的无效数据并提取关键信息。.cache() // 缓存清洗后的数据,避免重复计算。.map(_._3) // 提取action字段。// 示例:统计不同操作类型的数量。
2025-05-13 08:43:07
365
原创 打包spark代码在集群中运行
示例:hdfs dfs -put target/spark-example-1.0-SNAPSHOT.jar /user/spark/apps/打包后的文件位于 target/spark-example-1.0-SNAPSHOT.jar。--executor-cores 每个 Executor 的 CPU 核心数。--executor-memory 每个 Executor 的内存大小。--num-executors 分配的 Executor 数量。确保 Maven 已安装并配置。
2025-05-13 08:42:15
184
原创 idea写spark程序
选择 Maven,勾选 Create from archetype,选择 org.apache.maven.archetypes:maven-archetype-quickstart。填写 GroupId(如 com.example)和 ArtifactId(如 spark-example),点击 Next。-- 根据你的 Spark 版本调整 -->-- Spark Streaming (可选) -->-- Spark SQL (可选) -->
2025-05-13 08:41:44
424
原创 RDD的五大特征
特性:对于键值对 RDD(Key-Value RDD),可以指定分区器(如 HashPartitioner 或 RangePartitioner)。特性:RDD 保存对其父 RDD 的依赖关系,分为窄依赖(Narrow Dependency)和宽依赖(Shuffle Dependency)。特性:RDD 是分区的集合,每个分区在集群的不同节点上存储。特性:RDD 的每个分区可能有一个首选位置列表(如 HDFS 块的位置)。特性:RDD 的每个分区都有一个计算函数,用于生成该分区的数据。
2025-05-13 08:40:37
194
原创 配置集群(yarn)
ResourceManager 的 Web 界面地址为:http://resourcemanager:8088。集群环境规划:明确各节点的角色,如 ResourceManager、NodeManager 等。用户创建:创建一个专门用于 Hadoop 操作的用户,例如hadoop。时间同步设置:安装 NTP 服务,确保集群中所有节点的时间保持一致。-- NodeManager使用的容器运行时 -->-- ResourceManager地址 -->-- 容器的最小和最大内存 -->
2025-05-13 08:40:02
452
原创 Spark目前支持的部署模式。
SPARK_HOME/sbin/start-worker.sh spark://hadoop-master:7077 # 从节点。--master:指定集群管理器(如 local、spark://host:port、yarn)。--deploy-mode:Driver 运行位置(cluster 或 client)。--executor-memory:每个 Executor 的内存大小。--num-executors:启动的 Executor 数量。
2025-05-13 08:39:19
722
原创 搭建大数据学习的平台
Hadoop:http://hadoop-master:9870(HDFS)和 http://hadoop-master:8088(YARN)虚拟机:至少 3 台(1 主 2 从),每台 4GB 内存,50GB 硬盘。物理机:建议 16GB 内存以上,500GB 硬盘,多核 CPU。访问:http://hadoop-master:8081。2. Spark 与 Hadoop 集成。3. HBase 与 Hadoop 集成。1. Hive 与 Hadoop 集成。配置高可用(HA)模式(可选)
2025-05-13 08:38:38
689
原创 克隆虚拟机组成集群
sudo hostnamectl set-hostname hadoop-slave1 # 从节点1。sudo hostnamectl set-hostname hadoop-slave2 # 从节点2。sudo hostnamectl set-hostname hadoop-master # 主节点。-- 副本数,通常等于从节点数量 -->http://hadoop-master:8088 # YARN 资源管理界面。http://hadoop-master:9870 # HDFS 管理界面。
2025-05-13 08:38:00
739
原创 安装Hadoop并运行WordCount程序
访问 http://localhost:9870 查看 HDFS 界面,http://localhost:8088 查看 YARN 界面。Hadoop 依赖 Java,首先需要安装 Java 开发工具包(JDK)。四、运行 WordCount 程序。二、安装 Hadoop。三、启动 Hadoop。
2025-05-13 08:37:07
393
原创 如何在idea中写spark程序
在新建项目的向导界面中,指定所使用的 JDK(推荐版本为 JDK 1.8 或更高),以及 Scala 的具体版本(例如 Scala-2.11.8)。这些配置会直接影响到后续构建过程中的兼容性和依赖管理。在这个文件里定义好所需的库依赖项,比如针对 Spark Core 及其相关组件设置合适的版本号。通常情况下我们会从最基础的例子入手——WordCount 示例应用。如果一切正常的话,则应该能够看到预期的结果输出至控制台之中。随后,在弹出的窗口中选择 Scala 类型的项目,并确保选择了 SBT 构建工具。
2025-04-28 19:51:44
631
原创 如何搭建spark yarn 模式的集群
完成以上所有准备工作之后,可以通过简单的命令行操作来检验整个架构是否工作正常。在搭建Spark YARN模式之前,需要先安装和配置Hadoop集群。确保Hadoop已经正常运行,并能够通过。如果希望长期保存已完成的任务数据,则需额外启用HistoryServer功能。成功启动NameNode、DataNode以及ResourceManager等服务。脚本中的某些选项,同时确保已挂载共享存储位置供其读取事件日志文件。下载适合当前系统的Spark版本,并将其解压到指定路径。进入Spark的配置目录,找到。
2025-04-28 19:49:48
564
原创 spark和Hadoop的对比和联系
尽管最初版本的 Spark 是运行于独立集群之上,但现在也可以无缝地部署至 YARN 或 Mesos 上面作为资源管理器的一部分工作。它支持内存中的数据存储以及复杂的并行操作,从而显著提高了性能,尤其是在需要多次访问同一数据集的情况下。MapReduce 将任务分为两个阶段:映射(map)和规约(reduce),适合大规模数据集上的复杂分析操作。此代码片段展示了如何使用 PySpark 创建简单的 RDD,并对其进行转换操作后再收集最终的结果集合。这些扩展模块增强了各自平台的功能覆盖范围和技术适应能力。
2025-04-22 08:26:49
455
原创 一分钟教你学会数据清洗
利用工具的去重功能,Excel 中可通过 “删除重复项” 按钮,pandas 中使用drop_duplicates()函数,一键就能删除这些重复数据,保证数据的唯一性。数据格式不一致也很麻烦。如员工薪资,有的以 “元” 为单位,有的以 “万元” 为单位。在数据的世界里,原始数据就如同未经雕琢的璞玉,往往夹杂着杂质,而数据清洗便是去除这些杂质,让数据闪耀光芒的关键步骤。别担心,接下来,只需一分钟,就能初步掌握数据清洗的奥秘。经过这几步,原本杂乱的数据就会变得整洁有序,为后续的数据分析和挖掘工作打下坚实基础。
2025-04-02 15:54:51
155
原创 Hadoop集群的常用命令
文件权限管理: hdfs dfs -chmod permissions hdfs_path hdfs dfs -chown owner:group hdfs_path 修改 HDFS 文件的权限和所有者。合并下载: hdfs dfs -getmerge hdfs_source_path local_destination_file 将 HDFS 中的多个文件合并后下载到本地。查看文件内容: hdfs dfs -cat hdfs_file_path 查看 HDFS 中某个文件的内容。
2025-03-31 19:49:14
243
原创 mapreduce的工作原理
Reduce 阶段: 输入:Reduce 阶段接收 Shuffle 阶段处理后的数据。处理:Reduce 函数对相同键的值进行合并计算,生成最终结果。输出:Reduce 函数的输出是最终结果,通常存储在 HDFS 中^1^。Map 阶段: 输入:Map 阶段接收输入数据,通常是键值对(key-value pairs)。输出:Map 函数的输出是新的键值对,这些中间结果将传递给 Reduce 阶段^1^。Shuffle 阶段: 分区:将 Map 阶段的输出数据进行分区,每个分区对应一个 Reduce 任务。
2025-03-31 19:48:31
184
原创 虚拟网络IP设置
打开虚拟机mv编辑选项,打开虚拟网络编辑器,点击vmnet8,修改子网为192.168.10.0,再nat设置修改网关为192.168.10.2。打开控制面板网络连接右击vmnet8属性找到ipv4修改地址和网关地址为192.168.10.1,默认网关为192.168.10.2。进入虚拟机修改对应ip,修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33。检查ping能否通网 ping www.baidu.com。
2025-03-03 19:18:38
464
原创 vi编辑器的模式与操作以及tar命令的使用
tar用于压缩和解压文件 tar -cvf test.tar 1.txt 2.txt 3.txt将多个文件压缩,tar -xvf test.tar -C./temp。yy复制当前行nyy复制光标后n行,p粘贴内容到光标后,P粘贴内容到下一行,dd删除当前行,ndd删除光标后n行,u撤销上一次操作,ctrl+r重做上一步。末行模式:进入 , 插入模式aio进入 ,命令模式esc进入。w保存q退出wq保存退出wq!shift+zz快速保存退出。
2025-02-25 11:39:26
265
原创 VMware的linux常见命令
rm:删除文件或目录-f无需用户确认-r删除目录-rf删除目录无需用户确认 -rf/*删除所有目录。ls -l详细列表 -a显示所有文件包括隐藏的-lh人类可读的方式(多了k)mkdir:创建目录,-p如果父级目录不存在就创建父级目录。cat:查看文件内容 more以翻页的形式查看。mv:移动或重命名文件或目录。cd bin到bin目录。tab键,实现自动补齐。cp:复制文件或目录。touch创建空文件。
2025-02-25 11:04:58
431
原创 如何在vmware安装虚拟机并设置密码
打开虚拟机后enter选择要安装的操作系统,等待安装完成以后选择要使用的语言,设置完磁盘的存储设置,选择自动分配分区,完成后会出现完成的ui点击完成设置root密码,输入密码,然后确认密码后点击完成,等待安装完后,输入root再输入密码就能完成问题了。安装完vmware后点击创建虚拟机,自定义设置设置完虚拟机的内存硬盘大小以及处理器设置,选择光盘映像文件,自定义虚拟机的名称,选中linux系统。
2025-02-25 11:04:28
223
原创 函数对象
/List(1,2,3,4,5) ==> 中间元素的下标 = 长度/2 ==> 3。//需求:你是一个程序员,老板让你写一个函数,用来获取列表中的中间元素。//def 函数的名字(参数1:类型1):返回值的类型 = {//[T]就是泛型:类型参数化。把类型当做参数传入函数内部。
2024-12-11 17:03:07
278
原创 隐式函数添加阶乘函数
/ 使用for循环从1到d进行累乘,实现阶乘计算。// 定义隐式类,为Int类型添加求阶乘的方法。println("阶乘函数被调用")//需要:给整数添加一个功能,求阶乘。
2024-12-11 15:56:51
417
原创 函数的隐式参数
/ transform(u1).updateUser() // 希望要增加的新功能。//思路:把BaseUser 通过隐式转换,改成一个新类型,而这个新类型中有这新的方法。//任务:给之前的BaseUser添加新的功能,但是,不要直接去改代码。//implicit class === 一个隐式转换函数 +类。// 它的作用:拓展已有类的功能,而不需要去修改之前的类的代码。u1.updateUser() //希望要增加的新功能。//10年前,小王写的代码。
2024-12-11 15:08:52
444
原创 函数的隐式参数
def sayName(implicit name:String="小明"):Unit = {implicit val value:String = "小马"println("我的名字是:"+name)sayName("小王")
2024-12-11 14:47:35
249
原创 隐式转换添加新功能
/完成一个功能,让所有的字符串都能调出isPhone方法,来校验自己是不是一个手机号。//定义一个特殊的转换函数,把str===>StrongString的对象。
2024-12-09 16:54:19
175
原创 隐式转换
/隐式转换:编译器 偷偷的 自动地帮我们把一种数据转换为另一种类型。// 例如 int --> double。//它有失败的时候(double-->int),有成功的时候。println("implicit X 被调用了")//当它转换失败的时候,我们提供一个工具,让它成功。// i = j //把Double转入Int。j = i //把Int 转入Double。//明确的,double转成int。
2024-12-09 15:59:52
253
原创 正则表达式给手机号打码
/reg.replaceAllin的功能:在目标字符串str中.用正则表达式reg去查找.找到后.用 箭头函数 的返回值。//”张先生,手机号:138****5678 你买的 xxx 到了“println(s"第一组:${m.group(1)}")println(s"第二组:${m.group(2)}")println(s"第三组:${m.group(3)}")//任务:把字符串中的手机号打码:类似于,138****5678。// m 就是正则表达式的内容。//查找,验证,替换。
2024-12-09 15:40:41
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅