- 博客(109)
- 收藏
- 关注
原创 SpringBoot与Jackson版本不兼容导致的问题 NoClassDefFoundError BeanCreationException
出现NoClassDefFoundError 这种类找不到,一般都是依赖的问题。
2024-08-07 02:11:12
509
1
原创 2024-01-重学MySQL
- 或简写查看当前数据库的所有表索引类似于书的目录,主要是为了提高从表中检索数据的速度。索引的存储类型可分为B树型索引(Btree)和哈希索引(Hash)InnoDB和MyISAM存储引擎支持btree类型索引,MEMORY存储引擎支持Hash类型索引,默认为前者索引。MySQL支持的6种索引类型普通索引唯一索引全文索引单列索引多列索引空间索引索引的利弊: 创建索引可以提高查询速度,但过多的索引则会占据许多的磁盘空间。因此创建索引前需要权衡利弊。
2024-03-13 17:06:57
919
2
原创 Java操作MongoDB报错 java.lang.IllegalStateException: state should be: open
Java操作MongoDB报错 java.lang.IllegalStateException: state should be: open
2023-11-21 11:04:13
1618
原创 Spark DataFrame join后移除重复的列
在Spark,两个DataFrame做join操作后,会出现重复的列。继续操作报错 org.apache.spark.sql.AnalysisException: Reference ‘movieId’ is ambiguous。
2023-11-14 15:46:52
1239
2
原创 05-Scala函数式编程
无参,无返回值// 定义函数println("函数体")// 函数调用println(res) // 返回值 空 ()无参,有返回值// 定义函数return 666 // return 可省略// 函数调用println(res) // 返回值 666有参,无返回值// 定义函数name// 函数调用val res = fun1("你好")println(res) // 返回值 ()有参,有返回值// 定义函数name// 函数调用。
2023-09-25 16:04:54
282
原创 03-Scala算术运算符
只有个别细节上不同。注意: Scala中,没有 ++ 、-- 操作符,可以通过+=、-=来实现通用的效果 Scala中,一般情况下, == 与 equals 是一样的,都是比较内容。
2023-09-25 15:57:24
306
原创 01-Scala环境部署
Scala即Scalable Language单词的缩写,表示可伸缩语言的意思。Scala语言是基于Java开发的,所以其编译后的文件也是字节码文件,并可以运行在JVM中。
2023-09-25 15:50:54
590
原创 01-Maven入门
作用:聚合用于快速构建maven工程,一次性构建多个项目/模块制作聚合管理模块的方式:创建一个空模块,打包类型定义为pom</定义当前模块进行构建操作时管理的其他模块名称例如:</</</</</注意:参与聚合操作的模块的最终执行顺序与模块间的依赖有关系,与配置顺序有关 自定义属性:可以定义自己的属性,用于在 POM 文件中引用和使用。等同于定义变量,方便对依赖版本的维护定义格式:</</调用格式:</</</</
2023-09-22 21:39:13
513
原创 关于POM声明为provided的依赖,运行程序时报错NoClassDefFoundError
我在编写flink程序时,将flink相关依赖声明为provided(目的是项目打包时不会将flink依赖打入包最终jar包中,减少内存占用)但是如果在IDEA本地中执行程序会报错,如下所示。
2023-09-21 17:36:51
821
原创 02-slf4j日志门面配置
POMslf4j与 jdk14整合POMslf4j+logbackPOMslf4j 与 log4j整合log4j还需要配置log4j.properties文件:
2023-09-11 17:46:45
204
原创 01-Java-日志框架
在JUL(Java Util Logging)中,加载配置文件的常规步骤如下:1)创建一个名为的文本文件,该文件包含了JUL的配置信息。2)将文件放置在类路径下,通常是放在目录下。= null) {演示:# 设置根日志记录器的级别为FINE# 配置控制台处理器# 配置文件处理器# 指定日志文件的路径和名称模式# 指定日志文件的大小限制# 指定日志文件的数量限制# 指定日志消息的格式化器2)编写代码读取配置文件// 读取配置文件@Test// 获取配置文件try {
2023-09-11 17:45:45
1715
原创 IDEA运行Java代码报错Command line is too long
IDEA运行Java代码报错Error running 'xxx':Command line is too long. Shorten command line for xxx or also for Application default configuration.
2023-09-07 08:51:16
386
原创 02-打包代码与依赖
在开发中,我们写的应用程序通常需要依赖第三方的库(即程序中引入了既不在 org.apache.spark包,也不再语言运行时的库的依赖),我们就需要确保所有的依赖在Spark应用运行时都能被找到注意: 提交应用时,
2023-09-06 16:51:33
479
原创 05-RDD五大特性
RDD(Resilient Distributed Dataset)即,是一个容错的、并行的数据结构,是Spark中最基本的。代码中是一个抽象类,它代表一个弹性的、、里面的元素可计算的集合。类比: RDD的数据处理方式类似于IO流,也有装饰者设计模式 RDD的数据只有在调用行动算子(例如,collect())时,才会真正执行业务逻辑操作。 RDD是不保存数据的,但是IO可以临时保存一部分数据可以认为RDD是分布式的列表List或数组Array,抽象的数据结构,
2023-09-06 16:16:39
1006
原创 04-监控页面及圆周率PI运行
每个Spark Application应用运行时,启动WEB UI监控页面(默认端口 4040) 当应用运行结束后,该监控页面就看不到了;开发中我们经常会配置历史服务器。点击【Job 0】,进入到此Job调度界面,通过DAG图展示。
2023-09-06 16:15:28
63
原创 04-docker compose容器编排
Compose 是Docker公司推出的一个工具软件,可以管理多个Dokcer容器组成一个应用。你需要定义一个YAML格式的配置文件。然后,只要一个命令,就能同时启动/关闭这些容器简单来说,Docker Compose 是Docker官方的开源项目,。
2023-09-06 16:08:26
444
原创 03-Dockerfile
从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段Dockerfile是软件的原材料Docker镜像是软件的交付品Docker容器则可以认为是软件镜像的运行态,也即依照镜像运行的容器实例Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。
2023-09-06 16:07:49
695
原创 02-docker network
1)创建两个容器实例2)打开两个终端分别进入两个容器,并查看IP......3)两个容器按照IP地址ping# centos7001 屏 centos7002 能ping通^C# centos7002 屏 centos7001 能ping通^C4)两个容器按照服务名ping。
2023-09-06 16:06:30
547
原创 02-zookeeper分布式锁案例
当客户端要获取锁,则创建节点,使用完锁,则删除该节点。当我们假设根节点/ 下有/locks节点时1)客户端获取锁时,在locks节点下创建节点。2)然后获取lock下面的所有子节点,客户端获取到所有的子节点之后,如果(即需要小的优先)使用完锁后,将删除该结点。3)如果发现自己创建的节点并非locks所有子节点中最小的,说明自己还没获取到锁,此时客户端需要。
2023-09-06 15:54:11
943
原创 03-第一个Spark程序WordCount
Spark 由 Scala 语言开发的,咱们当前使用的 Spark 版本为 3.2.0,默认采用的 Scala 编译版本为 2.13,所以后续开发时。我们依然采用这个版本。开发前请保证 IDEA 开发工具中含有。
2023-08-13 22:08:49
629
原创 01-Spark环境部署
**client模式适用于测试调试程序。**Driver进程是在客户端启动的,这里的客户端指的是提交应用程序的当前节点。在Driver端可以看到 task执行的情况 **生成环境中不能使用client模式。**因为:假设要提交100个application 到集群运行,Driver每次都会在 client端启动,那么就会导致客户端100网卡流量暴增的问题。
2023-08-13 22:06:42
1269
原创 07-HDFS入门及shell命令
Hadoop分布式文件系统。是Apache Hadoop核心组件之一,作为大数据生态圈最底层的分布式存储服务而存在。分布式文件系统解决大数据如何存储的问题。分布式意味着是横跨在多台计算机上的存储系统。HDFS是一种能够在普通硬件上运行的分布式文件系统,它是高度容错,适用于具有大数据集的应用程序,它非常适于存储大型数据(比如 TB PB)HDFS使用多台计算机存储文件,并且提供统一的访问接口,像是访问一个普通的文件系统一样使用分布式文件系统。
2023-08-13 15:55:25
1917
原创 06-hadoop集群搭建(root用户)
format操作只在hadoop集群初次启动时执行一次 format多次会造成我们数据的丢失,还可能会造成Hadoop集群主从角色之间相互不识别(解决方法:将所以节点的hadoop.tmp.dir目录删除,删除所有机器的data和logs目录删除,后重新格式化)
2023-08-13 15:54:12
905
原创 04-搭建Hadoop集群推荐使用普通用户
在安装Hadoop时,可以创建一个专门的Hadoop用户,并将其添加到Hadoop用户组中。然后,将Hadoop安装目录和数据目录的所有权和权限分配给Hadoop用户和Hadoop用户组。这样,只有Hadoop用户和Hadoop用户组才能访问和修改Hadoop相关的文件和目录,其他用户则没有权限。使用root用户管理可能会带来一些安全风险,因为root用户具有最高的权限,如果被黑客攻击或者误操作,可能会导致整个系统崩溃或者数据丢失。总之,使用普通用户管理Hadoop集群是一种更加安全和可控的方式。
2023-08-13 15:53:41
572
原创 03-xsync集群分发脚本(普通用户)
当我们在集群中一台机器上配置好服务以后,不想重复的在集群中的其他机器重复配置是,可以循环复制文件到所有节点的相同目录下。
2023-08-13 15:52:26
306
原创 02-SSH免密登录(普通用户)
说明: 假设我们在 NameNode节点部署在kk01 SecondNameNode节点部署在kk03,ResourceManager 部署在 kk02 kk01上的 NameNode 需要分别到kk01、kk02、kk03上启动DataNode,因此需要配置ssh免密到其他机器 kk02上的 ResourceManager 需要分别到kk01、kk02、kk03上启动NodeManager,因此需要配置ssh免密到其他机器。
2023-08-13 15:51:45
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人