- 博客(5229)
- 资源 (10)
- 收藏
- 关注
原创 【表达式】Java 表达式引擎选型调研分析
本文将针对 AviatorScript 、MVEL 、OGNL 、SpEL 、QLExpress 、JEXL 、JUEL 几种常见表达式引擎进行选型调研。先简单介绍一下这几种表达式引擎。综合以上测试结果,AviatorScript,SpEl,MVEL,OGNL 性能表现相对较好。AviatorScript 性能相对较好,表现均衡,但其语法相较其他引擎跟 Java 的差异略大。SpEl 除了在个别场景下性能较差,大部分场景表现非常出色,尤其是在字面量和含有变量的算数计算及方法调用场景下。
2025-05-17 00:30:00
32
原创 【Flink】Flink本地运行打印如下日志 too high to satisfy all of the requests
这段代码的主要目的是在内存使用超过阈值时生成警告消息,以提醒用户可能存在内存问题,特别是对网络吞吐量的影响。警告消息提供了一些建议,例如增加可用网络内存或减小网络缓冲池的配置大小。
2025-05-17 00:15:00
9
原创 【Flink】Flink报错ApplicationMaster is out of sync with ResourceManager, hence resyncing
有个现场的hadoop有问题,然后他们重建了Hadoop集群,但是flink运行一段时间就报错,主要报错ApplicationMaster is out of sync with ResourceManager, hence resyncing。这里看起来是Hadoop不稳定,然后ResourceManager不停的在切换主备状态,导致程序无法连接。故障转移尝试次数很高(例如,5278 次尝试),这表明系统无法与 ResourceManager 建立稳定连接。
2025-05-15 00:45:00
18
原创 【Kafka】Kafka获取消费组位置position()方法卡死
文章讨论了在使用Kafka消费者API时,获取分区偏移量(offset)时可能遇到的超时问题。作者在代码中使用了position方法来获取分区的偏移量,但未设置超时时间,导致程序在某些情况下卡死。通过分析Kafka的源码,作者发现position方法在获取偏移量时会阻塞,直到确定位置或超时。超时时间由default.api.timeout.ms配置项决定,默认值为60000毫秒(60秒)。作者建议在调用position方法时显式设置超时时间,以避免因网络问题或服务器响应延迟导致的程序卡死。
2025-05-15 00:30:00
187
原创 【Kafka】Kafka have leader brokers without a matching listener
我们flink消费kafka报错Kafka have leader brokers without a matching listener我们这个报错主要是对方的kafka5个节点,然后崩溃了2个,而我们的topic是,正常情况下,每个分区是在一台机器上均匀分布,但是现在他们崩了2个,导致这两台机器上的topic区分缺失了2个,然后因为没有副本,然后就报错了。
2025-05-08 00:30:00
155
原创 【Kafka】Kafka报错 this server does not host this topic-partition
报错信息 “this server does not host this topic-partition” 表明在尝试删除 Kafka 主题时,服务器无法找到相应的主题分区。是这样的我使用kafka 2.3版本,然后使用api删除topic,然后执行报错this server does not host this topic-partition,这个意思是找不到相应的topic。我们的情况是我们是web界面展示topic,所以topic一定是有的,但是不清楚为何会报错这个,可能是同时有别人删除了。
2025-05-08 00:15:00
27
转载 【Flink】YARN Container 启动上下文
在 YARN 中,不管是 ApplicationMaster(后面均简称 AM),还是一般的 container(例如 MR 中的 map 任务、reduce 任务;Spark 中的 executor 或者 Flink 中的 TaskManager),都有各自的启动上下文(ContainerLaunchContext)。上下文中包含了任务启动所依赖的资源(包括 jar,资源文件等)、环境变量、启动参数等。
2025-05-07 00:45:00
14
原创 【kakfa】kafka 2.x 控制台消费报错 UNKNOWN_TOPIC_OR_PARTITION、删除不存在、创建提示存在
然后他的kafka集群有5台机器,挂了2台,然后他们把kerberos都先关闭了,但是挂的怎么都无法重启成功。20231228日,我负责的一个现场环境,整个环境中病毒了,毒性很深,30多台机器全崩溃的,而且是kerberos认证的环境。而且这个环境有个神奇的地方,重新创建这个topic会报错,提示topic已经存在,但是你又查不到这个topic。因为上面原因,我们消费数据有问题,然后我们消费数据的时候出现问题,因此我就打算重建topic,步骤如下。后面运维手动处理了一下元数据,才呢个查出来。
2025-05-07 00:30:00
137
原创 【Flink】No JAAS configuration section named Client was found in specified JAAS configuration
但是这个异常又不影响程序运行。但是这个有什么影响呢?下面我来解释一下,这个是flink认证相关的,他说/tmp/jaas-3331740396007956723.conf 这个文件中不包含一个叫Client的配置。如果有的话,那么就会走认证相关的配置。如果你的环境没有开启kerbeos认证的话,那么是没有什么问题的。
2025-05-07 00:15:00
40
原创 【java】java 99.99 临界值的问题、19.990000000000002
我们做flink流计算统计的时候,发现下面这个相加是虽然我们知道double和float是临界值是有精度问题的,但是我们怎么规避这个问题呢?
2025-04-30 21:45:00
29
原创 【Elastic】Elastic 为什么建议强制设置master节点
主节点的作用包括集群状态的管理、节点的发现和主节点选举等。我们曾经一度使用的是没有主节点的3个es节点,把我们整得死去活来的,主要是我们当初资源很少,十几个服务都在一台机器,多个docker,3个es节点也在一台宿主机3个docker容器内,当初想的是如果机器挂了,那么都会挂,设置主节点意义不到,后来发现,不设置不行,会有很多问题。集群没有设置主节点,导致创建索引时,数据节点要充当临时主节点的角色,写入量较小的时候,影响不大,当写入压力过大时,会加剧数据节点的负载,影响索引的创建速度。
2025-04-30 15:29:34
41
原创 【Spring】浏览器接口报错 net::ERR_CERT_AUTHORITY_INVALID、HandlerExceptionResolver、自定义状态码
这里按理说应该是返回我们的403,而且debug的时候,应该走到我们抛出AcessDeniedException异常的地方,但是实际上什么都没有调用,看起来没有到后端就被拦截了,跨域什么的。然后与前端约定,当出现这个异常的时候,我们把状态码改成403,然后前端发现是403的时候,统一跳转到登录界面。首先用户登录系统,然后查看数据,接口正常情况下,我们返回的是200状态码。然后这里触发了我,因为我是强制删除了缓存信息,是不是证书也被清理了呢?过了很久,都没有找到原因,而且界面看起来是跨域相关的报错。
2025-04-28 00:30:00
89
原创 【Flink】ResourceManager within the specified maximum registration duration PT5M
每次出现这种错误,需要人工干预手动重启jobmanager才能解决,不然任务就不运行了。这个错误日志表明 Flink TaskManager 在向 ResourceManager 注册时超时,导致 TaskManager 被终止。具体来说,错误信息是,指示在规定的最大注册持续时间内无法在 ResourceManager 上完成注册。确保 TaskManager 能够与 ResourceManager 正常通信。检查网络配置,确保没有防火墙或其他网络问题导致通信中断。
2025-04-28 00:15:00
131
原创 【Flink】The ResourceManager does not recognize this TaskExecutor
一个K8S上部署的flink集群的问题,taskmanager运行一段时间pod就会error,报错日志是然后jobmanager中没有报错,只是有拒绝的提示这个报错也是Flink TaskManager 在向 ResourceManager 注册中间发生的错误。我前面刚刚排查了一个问题。
2025-04-27 00:30:00
143
原创 【kafka】No valid credentials provided Mechanism level: Clock skew too great AUTHENTICATION_FAILED
具体的详情报错如下这个错误表明在 Kafka 客户端应用程序中存在身份验证问题。错误涉及到 Java Security API 和 Simple Authentication and Security Layer (SASL) 机制,具体提到了一个 GSSException,其消息为 “No valid credentials provided” 和 “Clock skew too great”。:在身份验证过程中 SASL 机制遇到错误时抛出的异常。
2025-04-27 00:15:00
37
原创 【linux】linux报错bash: [[: command not found
如果出现错误,比如 bash: [[: command not found,那么你的 shell 可能不支持 [[ …因此,整个代码块的作用是检查变量 $x 是否以 “tag” 开头,如果是的话,就提取出 “tag=” 后的内容并存储到变量 tag 中。请注意,如果你的脚本需要在不同的 shell 中运行,最好使用兼容性更好的 [ …这段代码将检查是否定义了 $BASH_VERSION 变量,如果定义了,则说明当前环境是 Bash,并支持 [[ …] 条件表达式,或者确保你的脚本在 Bash 中执行。
2025-04-26 00:30:00
30
原创 【Nacos】Nacos注册报错NacosException: user not found
然后我转移到有错的命名空间启动发现就不行,然后后来偶然查看到界面上已经有了我们的服务,并且我们的服务挂了之后这个还在,而且最关键的是触发保护阈值这里只有我们是true,其他的都是false。后面我们用其他服务连接这个nacos,发现可以正常的注册上去,但是就是我们的不行。但是我又想别人的服务为啥关掉之后,就消失了,然后我这个服务就一直没有消失呢?然后我使用其他命名空间的时候发现就可以了,然后换回来就不行。不清楚这个脏数据怎么产生的,后面我们全部换了一个命名空间就好了。然后我就看我们正常的会是什么样子?
2025-04-26 00:15:00
388
原创 【Flink】Flink常见故障排查
现在 Flink 中 Checkpoint 有两种模式,全量 Checkpoint 和增量 Checkpoint,其中全量 Checkpoint 会把当前的state 全部备份一次到持久化存储,而增量Checkpoint,则只备份上一次Checkpoint 中不存在的state,因此增量 Checkpoint 每次上传的内容会相对更好,在速度上会有更大的优势。对于 RocksDB 来说,则需要从本地读取文件,写入到远程的持久化存储上,所以不仅需要考虑网络的瓶颈,还需要考虑本地磁密的性能。
2025-04-25 00:30:00
47
原创 【Flink】Flink细粒度滑动窗口优化
1. 细粒度滑动的影响当使用细粒度的滑动窗口 (窗口长度远远大于滑动步长)时,重叠的窗口过多,一个数据会属于多个窗口,性能会急剧下降。比如我们开了一天的窗口,滑动时间是1分钟,那么数据会有多少次重复呢?重复次数的计算是长度/ 步长。而且flink是每次回计算这个数据属于某个窗口,如果这个数据属于多个窗口中,那么这个数据会被放到多个状态中。在Spark中是有这样的优化的,比如如上图的重复,那么A窗口会正常计算,但是B窗口的计算是重叠的部分是会重复利用的。但是Flink目前没有办法做这个优化。
2025-04-25 00:15:00
264
原创 【Flink】Flink 链路延迟测量
对对于实时的流式处理系统来说,我们需要关注数据输入、计算和输出的及时性,所以处理延迟是一个比较重要的监控指标,特别是在数据量大或者软硬件条件不佳的环境下。Flink提供了开箱即用的 LatencyMarker 机制来测量链路延迟。single:每个算子单独统计延迟;这个就是统计一个算子的验证,比如从A进入到A出去,这个一般没有多大意义。operator(默认值):每个下游算子都统计自己与 Source 算子之间的延迟;相当于全局延迟,是比较有用的。subtask。
2025-04-24 00:30:00
37
原创 【Flink】Flink开发习惯-算子指定UUID
默认情况下,算子UID 是根据JobGraph 自动生成的,JobGraph 的更改可能会导致UUID 改变,手动指定算子UUID,可以让Flink 有效地将算子的状态从 savepoint 映射到作业修改后(拓扑图可能也有改变)的正确的算子上。严格地说,仅需要给有状态的算子设置就足的了。但是因为 Flink 的某些内置算子(如window)是有状态的,而有些是无状态的,可能用户不是很清楚哪些内置算子是有状态的,哪些不是所以从实践经验上来说,我们建议每个算子都指定上 UUID。
2025-04-24 00:15:00
29
原创 【Flink】Flink RocksDB 预定义优化合集
RocksDB的参数有几百个,如果是没有一定基础的想做这个优化还是很难的,因此flink提供了一些预定义的配置合集,并且每个合集有固定的名称。Flink 针对不同的设置为 RocksDB 提供了一些预定义的选项集合,其中包含了后续提到的一些参数,如果调整预定义选项后还达不到预期,再去调整后面的 block、writebuffer等参数。
2025-04-23 00:30:00
22
原创 【Flink】Flink如何开始state性能监控
Flink 1.13 State 访问的性能监控,即latency trackig state。此功能不局限于 State Backend 的类型,自定义实现的 State Backend 也可以复用此功能。正常开启第一个参数即可。
2025-04-19 22:14:37
33
原创 【Flink】Flink合理使用CPU资源、CPU资源怎么设置
那么按照我们现在的情况,我们一个taskmanager有2个槽位,那么应该是需要2个vcore。其实这是调度器引起的问题,我们要么使用容量调度器,要么使用公平调度器,如果你使用的是公平调度器那么应该不会遇到这个问题。然后现在就变成了4和10了,现在我们算一算这个怎么来的,3个TaskManager,每个占用3个,那么就是9个,然后JobManager是一个。我并行度是5,那么最少占用5个槽位才能跑,一个taskmanager是2个槽位,那么最少要启动3个taskmanager才能满足我们的需求。
2025-04-12 09:32:10
50
原创 【Flink】Flink TaskManager 内存如何计算、TaskManager每个部分的内存怎么计算
距离上一次搞内存已经很久了,今天打算再次学一下。Flink 1.10对 Task Manager 内存模型做了较大改动Flink使用了堆上内存和堆外内存框架堆外内存、Task堆外内存、网络缓冲内存,都在堆外的直接内存里Flink使用内存=框架堆内和堆外内存+Task堆内和堆外内存 +网络缓冲内存+管理内存逃程内存=Flink内存+JVM特有内存首先要知道一点就是FLink是既能使用堆内存、又能使用堆外内存的。
2025-04-06 13:18:29
348
原创 【Flink】Flink Key State 和 Operator State 区别
在Flink 当中有两种基本类型的State : Keyed State 和 Operator State。Keyed State:顾名思义就是基于 KeyedStream 上的状态,这个状态是跟特定的key 鄉定的,对 KeyedStream 流上的每一个key,都对应一个 state。如下图所示:假如输入流按照 id 为key 进行 keyBy 分组,形成一个 KeyedStream,数据流中所有id 为1的数据共享一个状态,可以访问和更新这个状态。以此类推,每个key 对应一个自己的状态。
2025-04-06 13:18:09
29
原创 【Flink】Flink 1.17 可查询状态 Queryable State
今天有空来学习一下,可查询状态 Queryable State。在flink 当中.state 分为两种类型,keyed state 和 operator state。keyed state 是与特定的key 绑定的state。对keyedStream 流上的每一个key, 都对应一个 state;operator state 是与算子绑定的 state,整个operator 算子只对应一个 state。
2025-04-03 00:30:00
53
原创 【kafka】Kafka修改topic的日志保留时间
message.timestamp.difference.max.ms=9223372036854775807: 定义了消息时间戳之间的最大差异,这里是没有限制。min.compaction.lag.ms=0: 定义了触发日志紧凑(compaction)的最小延迟时间,这里是0毫秒。segment.index.bytes=10485760: 定义了每个日志段的索引文件的大小,这里是10 MB。file.delete.delay.ms=60000: 定义了删除文件的延迟时间,这里是60秒。
2025-04-03 00:15:00
243
原创 【Flink】Flink执行savepointPath超时
其中, 是作业的 JobID,可以在 Flink 的 Web UI 或者日志中找到, 是 Savepoint 保存的目录。当执行 Flink 的 stop 命令并指定 --savepointPath 参数时,如果操作超时,可能是由于不同原因导致的。8.检查 Flink 的日志,特别是 JobManager 和 TaskManager 的日志,以查看是否有任何与 Savepoint 相关的错误或警告消息。有时,不同版本之间的兼容性问题可能导致异常。
2025-04-02 00:30:00
43
原创 【Flink】Flink on k8s Exception occurred while acquiring lock ‘ConfigMapLock‘
flink on k8s吗,我在kubernetes application模式下运行,运行一段时间后就会出现这个报错,然后jobmanager就重启了。2、确保你的操作是基于最新版本的 ConfigMap 进行的,可以使用 kubectl get configmap 命令查看当前版本。这是一个 Kubernetes 的错误消息,意思是在进行 ConfigMap 操作时发生了锁定问题和版本冲突。4、对于持久性锁定问题,可以通过更新或重新部署相关的应用程序来解决。
2025-04-02 00:15:00
148
原创 【IDEA】IDEA总是自动切换有错误的pom文件
是这样的,我们环境最近使用jdk 17,然后下载了最新的IDEA 2023.03月份的,但是这个用的时候发现我正在修改其他pom文件的时候,总是时不时打断我,自动切换到父的pom文件,关键是这个pom文件其实没有什么报错,但是每次切换过去的时候,
2025-03-28 00:30:00
173
1
原创 【IDEA】IDEA修改Target bytecode version、maven重新加载后Target bytecode version总是变回1.8
我们环境最近在从jdk 17 升级到jdk17,但是maven重新加载后Target bytecode version总是变回17。那么IDEA修改Target bytecode version?让他保持一致呢?在Maven中,可以通过配置pom.xml文件来指定目标字节码版本。首先,打开项目的pom.xml文件。然后,在元素下添加如下内容:
2025-03-28 00:15:00
121
原创 【Maven】IDEA target目录 surefire/surefirebooter400xxx.jar 无法删除问题
在 Maven 项目中,surefirebooter 是 Maven Surefire 插件用于运行单元测试的引导器。生成的 surefirebooter JAR 文件包含了运行测试所需的类和资源,以及与 Surefire 插件相关的代码和配置。surefirebooter JAR 文件通常位于项目的 target 目录下的 surefire 子目录中。IDEA target目录下编译的时候生成一个文件surefire/surefirebooter400xxx.jar 这个文件有什么作用?
2025-03-26 00:30:00
65
原创 【Maven】Fatal error compiling: 无效的目标发行版: 11 解决方案
至此发现错误原因,原来执行java -version默认使用系统环境变量JAVA_HOME,而maven优先使用了windows的用户变量JAVA_HOME(这里之前忘记修改,仍然指向java8路径),修改用户变量JAVA_HOME指向java11或删除该用户变量JAVA_HOME(如无它用)后即可。我的pom文件设置如下。
2025-03-26 00:15:00
239
原创 【Idea】Idea如何修改Debug运行的默认JDK版本、如何修改Debug模板
但是有没有思考,我们项目都改成jdk 17了。这里为什么还是jdk 1.8呢?这是因为debug模板的问题。在上一篇文章中,我们最后找到原因是Debug的时候设置的JDK问题。我们改成如下模板就好了,下次就不是默认的jdk 8了。最后我们改成如下才解决。
2025-03-23 00:30:00
193
原创 【maven】windows安装两套jdk、idea运行报错 Runtime only recognizes class file versions up to 52.0
我们环境现在处于升级阶段,我们既要运行老的jdk 17版本,也要使用老的jdk1.8版本,为此我特意在本地安装了2套jdk环境,而且安装了2个IDEA,然后一套使用jdk 1.8 ,一套使用jdk 17,但是运行报错。我的jdk 1.7 环境装机如下,jdk 17 装机的时候使用的是msi包,好像不需要设置环境变量。这次我是解决后复现这个问题,再次查看版本信息以前全是jdk 17,现在javap的环境变了,奇怪。如果大家遇到同样的问题,那么Jdk的设置可以按照我的去设置能减少很大的问题。
2025-03-23 00:15:00
80
原创 【Kafka】java消费kafka报错UnsatisfiedLinkError、tmp/snappy-1.1.7、libsnappyjava.so
解决这个问题的一种方法是确保你的系统上有符合要求的libstdc++.so.6版本。你可以使用系统包管理工具来安装它,具体的命令可能因你使用的Linux发行版而异。在Linux系统中,libstdc++.so.6是C++标准库的共享对象文件,而GLIBCXX_3.4.21是其特定版本。这可能是由于库的版本不匹配导致的问题。另外,你也可以考虑使用更新版本的snappy-java库,因为新版本可能解决了这种依赖关系问题。确保你使用的snappy-java版本与你的应用和系统兼容。现在升级到最新版本试试。
2025-03-22 00:30:00
45
原创 【Flink】Flink不消费数据、偶然消费数据、消费组信息查不到
一个环境flink读取kafka不消费数据或者偶然消费数据、消费组信息查不到。在数据源节点查看节点每秒消费速率为0,意味着没有消费数据查看topic内部topic都正常,下图为部分查看我们消费的目标topic也是正常的查看消费组信息最后一行为nuknow,这是我们自定义的,意思是查不到查看日志发现无报错信息给这个流新换一个消费组,因为不消费所以没有初始化消费组信息,我们也查不到但是后来不知道什么原因,偶然能消费数据了。
2025-03-22 00:15:00
69
Eclipse Formatter 模板 Formatter.xml
2020-11-11
eclipse的hadoop插件
2016-09-14
hadoop学习文档
2016-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人