- 博客(53)
- 收藏
- 关注
原创 【Flink】Flink 作业执行大致流程
下游任务这时是正常处理上游发送过来的数据的,但是上游正在进行 Checkpoint,数据也是被发送过来的 CheckpointBarrier 分割开了,处理到后面会接收到上游的 CheckpointBarrier,也就表示着当前 Checkpoint 上游快照数据已经处理完,下游也开始进行 Checkpoint 了,下游进行 Checkpoint 的过程也是和上面的一样,继续调用 SubtaskCheckpointCoordinatorImpl 开始进行 Checkpoint。
2024-12-03 21:15:00
1416
原创 【Flink】Flink Checkpoint 流程解析
任务运行后 JobMaster 定时执行 Checkpoint,JobMaster 会通过调用 CheckpointCoordinator 对作业进行 Checkpoint。CheckpointCoordinator 开始进行 Checkpoint,它首先会先创建 PendingCheckpoint,然后开始给 Checkpoint 计时,再关闭网关开始触发 OperatorCoordinator 的 Checkpoint。
2024-12-03 15:27:57
1337
原创 【Flink】快速理解 FlinkCDC 2.0 原理
这里从 Mysql binlog CDC 简单流程来了解 Flink CDC 原理,将 CDC 流程分成了简单的六个阶段,通过这六个阶段应该可以大致了解 CDC 原理。
2024-11-26 08:33:39
1338
原创 【Ubuntu】Ubuntu启动后第一次需要很久才能启动GTK应用问题
自从升级了 Ubuntu 之后,设备重启,发现打开 Terminal 、Nautilus 以及其他的GTK 应用都很慢,需要至少一分钟的时间启动。Failed to start xdg-desktop-portal.service - Portal service.
2024-10-01 12:49:08
844
原创 【Java】Java 安全认证和 Hadoop UGI 原理解析
一般来说,Java 安全认证主要通过自定义 Subject、LoginContext、LoginModule、Configuration 在 Java 中进行安全认证。
2024-09-24 23:39:26
1408
原创 【Flink】Flink 高可用原理
Flink JobManager 高可用 加强了 Flink 集群防止 JobManager 故障的能力。 此特性确保了 Flink 集群将始终持续执行你提交的作业。
2024-09-24 19:18:27
1067
原创 【Flink】Flink 本地启动的多种方式
MiniCluster在start方法中启动QueryService、RPCService、Zookeeper、BlobServer、TaskManager、DispatcherLeader、ResourceManager、DispatcherGateway、WebMonitor进行RPC通信。RestServerEndpoint在执行start()方法时注册Netty的ChannelHandler,可以通过WebMonitorEndpoint查看具体的Handler类型和实现。
2024-09-23 19:45:00
1413
原创 【Flink】Flink Task 日志文件隔离
任务在启动时会先通过 MdcUtils 启动一个 slf4j 的 MDC 环境,然后将 jobId 添加到 slf4j 的 MDC 容器中,随后任务输出的日志都将附带 joid。
2024-09-22 19:38:20
908
原创 【Hive】HiveServer2 启动时 datanucleus.schema.autoCreateTables 不生效的问题
HiveServer2 启动时出现 "Either your MetaData is incorrect, or you need to enable "datanucleus.schema.autoCreateTables",而datanucleus.schema.autoCreateTables不生效
2024-09-09 00:15:10
801
2
原创 【Hive】Hive 本地启动时报错 Persistence Manager has been closed
解决办法是将 ObjectStore 类中静态变量 forTwoMetastoreTesting 为 true
2024-09-07 17:51:15
1058
原创 【Kerberos】学习Kerberos
用户要去游乐场,首先要在门口检查用户的身份(即 CHECK 用户的 ID 和 PASS), 如果用户通过验证,游乐场的门卫 (AS) 即提供给用户一张门卡 (TGT)。这张卡片的用处就是告诉游乐场的各个场所,用户是通过正门进来,而不是后门偷爬进来的,并且也是获取进入场所一把钥匙。现在用户有张卡,但是这对用户来不重要,因为用户来游乐场不是为了拿这张卡的而是为了游览游乐项目,这时用户摩天楼,并想游玩。
2024-09-01 22:15:00
1423
原创 【Hive】Hive出现BigDecimal wourld overflow supported range问题
hbase shell插入的基础类型数据通过bigdecimal查看数据位数可以看到数据位数变得很大。问题在于BigDecimal设置的精度太小或太大了,例如2^32 - 1或者-2^32。而且如果scale很大的话,就就算没有报错,计算也需要耗费很长的时间。真正的bigDecimal数据正常状态下查看是会乱码的。Jdk17计算后大于MAX_MAG_LENGTH报错。测试jdk11直接大于MAX_VALUE报错。这个问题也和使用的jdk版本也有关系。怀疑是插入了类似数据导致了这个问题。
2024-09-01 07:30:00
306
原创 不想再搬砖了!我给火爆全网的砖了个砖做了个辅助工具!!
但是倔强的我怎么能会因为这点事就退缩了呢,于是我花了一点时间学习了一下简单的图像识别,以及设计了一个简单的算法,接下来就有了下面的辅助工具!但是由于越玩到后面难度越大,还有体力最高只有一格,且一格体力居然几个小时才能恢复,着实劝退了不少人。我花了一个小时的时间,才好不容把第二关通过了,中间还邀请朋友帮忙才通过的。然后呢,我根据规则设计了一个简单的算法,算法的的步骤就不多说了。继羊了个羊之后,又一款小游戏火了起来,那就是《砖了个砖》!参数,依次设置为图片地址,图片中方块的行数和列数。搬砖还是得讲究效率!
2024-08-30 20:00:00
1737
9
原创 【Hadoop】Hadoop和Yarn故障切换高可用原理
通常调用Yarn和Hadoop的客户端api时都会经过他们的一层代理类,每次调用代理类方法失败时会进行重试或者故障转移,代理类的创建是通过创建的,例如RMProxy、ServerProxy、NameNodeProxies都会通过它创建相应的客户端代理。下面主要解析一下YarnClient使用的RMProxy(默认Hadoop2):创建RMProxy创建故障切换代理供应者FailoverProxyProvider,默认为ConfiguredRMFailoverProxyProvider,用于出现故障时切换节点
2024-08-30 18:15:00
906
原创 【Hive】通过写文件方式写入 Hive 数据
Hive最简单的写入数据方式就是通过Hive Jdbc写入Hive数据,但这并不是写入Hive最高效的方法。Hive通过读取相关Hdfs的文件来获取数据信息,而通过直接写入Hdfs文件数据达到写入Hive数据的效果,这是目前最高效的方法
2024-08-28 23:02:02
1366
原创 【Yarn】NodeManager本地缓存源码解析
NodeManager本地缓存中资源有三种可见度:PUBLIC、PRIVATE、APPLICATION,每种可见度都需要不同的处理PUBLIC:全局共享缓存,资源存放在 ${yarn.nodemanager.local-dirs}/filecache/ 目录下PRIVATE:对应用户级别共享资源,资源存放在yarnnodemanagerlocal−dirsusercache{user}/filecache/ 目录下。
2024-08-28 22:48:31
1155
原创 【Yarn】YarnClient发送和接收请求源码解析
其中Hadoop和Yarn组件大部分是通过Protobuf(Protocol Buffers)协议进行通信。Protobuf 是一种由 Google 开发的二进制序列化格式和相关的技术,它用于高效地序列化和反序列化结构化数据,通常用于网络通信、数据存储等场景。
2024-08-28 22:42:19
1129
原创 【Flink】Flink内存调优
基于 JVM 内存存在一些问题,并且在大数据场景下,无法在内存中存储海量数据,计算效率无法提高。Flink 社区采用自主内存管理设计,设计了两种内存模型 JobManager 内存模型和 TaskManager 内存模型。
2024-08-24 10:02:23
2173
原创 【Yarn】Mac Hadoop Yarn日志聚合出错
目录下应该就可以看见Hadoop-2.7.3目录,也就是hadoop应用程序了,可以通过判断启动hadoop任意组件是否会发出没有加载native库警告来判断是否生效(注意:通过hadoop checknative -a仍会报错,因为brew上面的库还是无法加载到,但是不影响hadoop启动时加载native库)由于hadoop没有提供mac平台上的包,所以如果我们想要在mac上使用hadoop的native库,那么就只能通过手动构建hadoop了。简单思考是没有加载到Hadoop的native库导致的。
2024-02-11 11:55:36
652
原创 【Java】Java NIO和BIO比较
学过计算机组成原理就知道在IO系统中直接内存访问DMA方式相比程序中断方式访问方式,进一步提高了CPU利用率,这里从Java程序通过对读写一个文件来进行一个验证。
2023-03-02 15:49:57
354
原创 【Gradle】Gradle如何排除依赖项目的某些包
在开发一个Gradle相关项目时,遇到了Gradle如何排除依赖项目的某些包这个问题,网上也并不能找到相关问题的解决方案,这就让我需要我仔细阅读官方文档相关部分了。
2022-12-30 18:27:00
10025
原创 【Gradle】记录Gradle中Checkstyle和Spotbugs的使用
Checkstyle 是一个开发工具,用于帮助程序员编写符合编码标准的 Java 代码。它自动化了检查 Java 代码的过程,使人们免于承担这项枯燥(但重要)的任务。这使得它成为希望实施编码标准的项目的理想选择。SpotBugs 是一个在 Java 程序中发现 bug 的程序。它寻找“ bug 模式”的实例ーー可能是错误的代码实例。
2022-12-30 16:29:27
1695
原创 【Ubuntu】Ubuntu 修改应用默认启动
默认启动方式配置文件位置:/etc/gnome/defaults.list~/.local/share/applications/mimeapps.list~/.config/mimeapps.list修改~/.config/mimeapps.list文件:打开网盘客户端后:关掉重新打开:没错,网盘只修改第一条配置,第二条会覆盖第一条。
2022-12-30 11:29:49
601
原创 认识PWA(渐进式网页引用)
渐进式 Web 应用程序(PWAs)是使用现代 API 构建和增强的 Web 应用程序,以提供增强的功能、可靠性和可安装性,同时通过单个代码库访问任何人、任何地点、任何设备。
2022-12-30 11:08:58
439
原创 GitHub Actions入门教程
GitHub Actions 是一个持续集成和持续交付(CI/CD)平台,允许您自动化构建、测试和部署流水线。您可以创建工作流来构建和测试存储库中的每个请求,或者将合并的请求部署到生产环境中。
2022-12-30 11:05:00
2284
原创 mybatis-generator如何从环境变量中使用数据库密码
mybatis-generator如何从环境变量中使用数据库密码(使用gradle)
2022-08-31 23:10:27
700
原创 Springdoc、OpenApi如何编写multipart/form-data、文件上传接口
Springdoc、OpenApi如何编写multipart/form-data、文件上传接口
2022-07-13 16:52:00
5715
3
原创 ubuntu “could not store password an apparmor policy mysql workbench” Code Answer
ubuntu “could not store password an apparmor policy mysql workbench” Code Answer
2022-06-15 08:49:32
864
原创 Security Filters顺序
Security Filters顺序 Security Filter通过SecurityFilterChain 被插入到FilterChainProxy中。过滤器的顺序很重要,但通常不需要知道Spring Security过滤器的顺序。然而,有些时候,知道顺序是有益的。你可以通过FilterOrderRegistration查看过滤器的顺序FilterOrderRegistration.javaFilterOrderRegistration() { Step order = new S
2022-05-04 17:00:59
724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人