YARN WebUI 服务
一、WebUI 使用
与HDFS一样,YARN也提供了一个WebUI服务,可以使用YARN Web用户界面监视群集、队列、应用程序、服务、流活动和节点信息。还可以查看集群详细配置的信息,检查各种应用程序和服务的日志。
1.1 首页
浏览器输入http://node2.itcast.cn:8088/访问YARN WebUI服务,页面打开后,以列表形式展示已经运行完成的各种应用程序,如MapReduce应用、Spark应用、Flink应用等,与点击页面左侧Application栏目红线框Applications链接显示的内容一致。
1.2 应用程序分析
当点击任意一个应用程序时,会打开一个新页面,并展示这个应用程序的运行信息。以MR应用为例,如果应用程序正在运行,打开的页面如图10-1-2所示;如果应用程序已经运行完成,打开的页面如下图所示。
- 正在运行的MR应用程序
- 运行完成的MR应用程序
二、HistoryServer 服务
YARN中提供了一个叫做JobHistoryServer的守护进程,它属于YARN集群的一项系统服务,仅存储已经运行完成的MapReduce应用程序的作业历史信息,并不会存储其他类型(如Spark、Flink等)应用程序的作业历史信息。
- 当启用JobHistoryServer服务时,仍需要开启日志聚合功能,否则每个Container的运行日志是存储在NodeManager节点本地,查看日志时需要访问各个NodeManager节点,不利于统一管理和分析。
- 当开启日志聚合功能后AM会自动收集每个Container的日志,并在应用程序完成后将这些日志移动到文件系统,例如HDFS。然后通过JHS的WebUI服务来提供用户使用和应用恢复。
2.1 启用 JHS 服务
在【mapred-site.xml】文件中配置指定JobHistoryServer服务地址和端口号,具体操作如下。
- 编辑文件:
[root@node1 ~]# vim /export/server/hadoop/etc/hadoop/mapred-site.xml |
- 添加属性配置:
<property> <name>mapreduce.jobhistory.address</name> <value>node1.itcast.cn:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node1.itcast.cn:19888</value> </property> <property> <name>mapreduce.jobhistory.intermediate-done-dir</name> <value>/mr-history/intermediate</value> </property> <property> <name>mapreduce.jobhistory.done-dir</name> <value>/mr-history/done</value> </property> |
- 同步mapred-site.xml文件到集群其他机器,命令如下:
[root@node1 ~]# cd /export/server/hadoop/etc/hadoop [root@node1 hadoop]# scp -r mapred-site.xml root@node2.itcast.cn:$PWD [root@node1 hadoop]# scp -r mapred-site.xml root@node3.itcast.cn:$PWD |
2.2 启用日志聚合
首先配置运行在YARN上应用的日志聚集功能,当应用运行完成,将日志相关信息上传至HDFS文件系统,编辑文件【yarn-site.xml】和添加属性配置。
- 编辑文件:
[root@node1 ~]# vim /export/server/hadoop/etc/hadoop/yarn-site.xml |
- 添加属性配置:
<property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/app-logs</value> </property> <property> <name>yarn.log.server.url</name> <value>http://node1.itcast.cn:19888/jobhistory/logs</value> </property> |
- 同步yarn-site.xml文件到集群其他机器,命令如下:
[root@node1 ~]# cd /export/server/hadoop/etc/hadoop [root@node1 hadoop]# scp -r yarn-site.xml root@node2.itcast.cn:$PWD [root@node1 hadoop]# scp -r yarn-site.xml root@node3.itcast.cn:$PWD |
2.3 启动 JHS 服务
在上述配置中指定的JHS服务位于【node1.itcast.cn】节点上,在【node1.itcast.cn】节点中启动JobHistoryServer服务。
- 启动命令如下:
[root@node1 ~]# mr-jobhistory-daemon.sh start historyserver |
- 或者如下命令:
[root@node1 ~]# mapred --daemon start historyserver |
- 浏览器查看:http://node1.itcast.cn:19888/jobhistory
2.4 JHS 管理 MR 应用
当提交运行MapReduce程序在YARN上运行完成以后,将应用运行日志数据上传到HDFS上,此时JobHistoryServer服务可以从HDFS上读取运行信息,在WebUI进行展示,具体流程如下。
2.4.1 提交MR应用程序
使用yarn jar提交运行官方自带词频统计WordCount程序到YARN上运行,命令如下:
[root@node1 ~]# yarn jar \ /export/server/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar \ wordcount \ /datas/input.data /datas/output |
运行MR程序显示日志信息:
2021-02-25 19:13:43,059 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm2 2021-02-25 19:13:43,278 INFO mapreduce.JobResourceUploader: Disabling Erasure Coding for path: /tmp/hadoop-yarn/staging/root/.staging/job_1614243659295_0002 2021-02-25 19:13:43,518 INFO input.FileInputFormat: Total input files to process : 1 2021-02-25 19:13:43,619 INFO mapreduce.JobSubmitter: number of splits:1 2021-02-25 19:13:43,816 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1614243659295_0002 2021-02-25 19:13:43,818 INFO mapreduce.JobSubmitter: Executing with tokens: [] 2021-02-25 19:13:44,007 INFO conf.Configuration: resource-types.xml not found 2021-02-25 19:13:44,008 INFO resource.ResourceUtils: Unable to find 'resource-types.xml'. 2021-02-25 19:13:44,077 INFO impl.YarnClientImpl: Submitted application application_1614243659295_0002 2021-02-25 19:13:44,136 INFO mapreduce.Job: The url to track the job: http://node3.itcast.cn:8088/proxy/application_1614243659295_0002/ 2021-02-25 19:13:44,137 INFO mapreduce.Job: Running job: job_1614243659295_0002 2021-02-25 19:13:51,321 INFO mapreduce.Job: Job job_1614243659295_0002 running in uber mode : false 2021-02-25 19:13:51,322 INFO mapreduce.Job: map 0% reduce 0% 2021-02-25 19:13:57,474 INFO mapreduce.Job: map 100% reduce 0% 2021-02-25 19:14:02,544 INFO mapreduce.Job: map 100% reduce 100% 2021-02-25 19:14:03,564 INFO mapreduce.Job: Job job_1614243659295_0002 completed successfully 2021-02-25 19:14:03,687 INFO mapreduce.Job: Counters: 53 File System Counters FILE: Number of bytes read=65 FILE: Number of bytes written=446779 FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 HDFS: Number of bytes read=205 HDFS: Number of bytes written=39 HDFS: Number of read operations=8 HDFS: Number of large read operations=0 HDFS: Number of write operations=2 Job Counters Launched map tasks=1 Launched reduce tasks=1 Data-local map tasks=1 Total time spent by all maps in occupied slots (ms)=3439 Total time spent by all reduces in occupied slots (ms)=3085 Total time spent by all map tasks (ms)=3439 Total time spent by all reduce tasks (ms)=3085 Total vcore-milliseconds taken by all map tasks=3439 Total vcore-milliseconds taken by all reduce tasks=3085 Total megabyte-milliseconds taken by all map tasks=3521536 Total megabyte-milliseconds taken by all reduce tasks=3159040 Map-Reduce Framework Map input records=3 Map output records=16 Map output bytes=160 Map output materialized bytes=65 Input split bytes=109 Combine input records=16 Combine output records=5 Reduce input groups=5 Reduce shuffle bytes=65 Reduce input records=5 Reduce output records=5 Spilled Records=10 Shuffled Maps =1 Failed Shuffles=0 Merged Map outputs=1 GC time elapsed (ms)=100 CPU time spent (ms)=2170 Physical memory (bytes) snapshot=506044416 Virtual memory (bytes) snapshot=5578981376 Total committed heap usage (bytes)=360185856 Peak Map Physical memory (bytes)=280317952 Peak Map Virtual memory (bytes)=2785366016 Peak Reduce Physical memory (bytes)=225726464 Peak Reduce Virtual memory (bytes)=2793615360 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=96 File Output Format Counters Bytes Written=39 |
2.4.2 MR运行历史信息
MR应用程序在运行时,是通过AM(MRAppMaster类)将日志写到HDFS中,会生成.jhist、.summary和_conf.xml文件。其中.jhist文件是MR程序的计数信息,.summary文件是作业的摘要信息,_conf.xml文件是MR程序的配置信息。
- MR应用程序启动时的资源信息
MR应用程序启动时,会把作业信息存储到${yarn.app.mapreduce.am.staging-dir}/${user}/.staging/${job_id}目录下。
yarn.app.mapreduce.am.staging-dir:/tmp/hadoop-yarn/staging(默认) |
- MR应用程序运行完成时生成的信息
MR应用程序运行完成后,作业信息会被临时移动到${mapreduce.jobhistory.intermediate-done-dir}/${user}目录下。
mapreduce.jobhistory.intermediate-done-dir:/mr-history/intermediate(配置) |
- MR应用程序最终的作业信息
等待${mapreduce.jobhistory.move.interval-ms}配置项的值(默认180000毫秒=3分钟)后,会把${mapreduce.jobhistory.intermediate-done-dir}/${user}下的作业数据移动到${mapreduce.jobhistory.done-dir}/${year}/${month}/${day}/${serialPart}目录下。此时.summary文件会被删除,因为.jhist文件提供了更详细的作业历史信息。
JHS服务中的作业历史信息不是永久存储的,在默认情况下,作业历史清理程序默认按照86400000毫秒(一天)的频率去检查要删除的文件,只有在文件早于mapreduce.jobhistory.max-age-ms(一天)时才进行删除。JHS的历史文件的移动和删除操作由HistoryFileManager类完成。
mapreduce.jobhistory.intermediate-done-dir:/mr-history/intermediate(配置) mapreduce.jobhistory.intermediate-done-dir:/mr-history/done(配置) mapreduce.jobhistory.cleaner.enable: true(默认) mapreduce.jobhistory.cleaner.interval-ms: 86400000(1天) mapreduce.jobhistory.max-age-ms: 86400000(1天) |
2.4.3 JHS 运行流程
- 客户端提交MR应用程序到RM;
- 在/tmp/logs/<user>/logs/application_timestamp_xxxx中创建应用程序文件夹;
- MR作业在群集上的YARN中运行;
- MR作业完成,在提交作业的作业客户上报告作业计数器;
- 将计数器信息(.jhist文件)和job_conf.xml文件写入/user/history/done_intermediate/<user>/job_timestamp_xxxx
- 然后将.jist文件和job_conf.xml从/user/history/done_intermediate/<user>/移动到/user/history/done目录下;
- 来自每个NM的Container日志汇总到/tmp/logs/<用户ID>/logs/application_timestamp_xxxx;
2.5 JHS WebUI
JobHistoryServer服务WebUI界面相关说明:
2.5.1 首页
浏览器输入:http://node1.itcast.cn:19888 访问JHS服务,页面打开后,以列表形式展示已经运行完成的MR应用程序,与点击页面左侧Application栏目红线框jobs链接显示的内容一致。
2.5.2 JHS 构建说明
浏览器输入 http://node1.itcast.cn:19888/jobhistory/about 地址或者在点击页面左侧Application栏目下红线框about链接后会展示JHS服务的构建版本信息和启动时间。
2.5.3 MR应用程序查看
在JHS作业列表点击任意一个作业:
作业信息查看:
2.5.4 JHS 配置
浏览器输入 http://node1.itcast.cn:19888/conf 或点击页面左侧Tools栏目中的红线框configuration链接会打开JHS的所需配置页面,在配置页面中,主要有集群自定义配置(core-site.xml、hdfs-site.xml、yarn-site.xml和mapred-site.xml)和集群默认配置(core-default.xml、hdfs-default.xml、yarn-default.xml和mapred-default.xml)两种。配置页面中的配置项较多,截图为部分展示。
2.5.5 JHS 本地日志
浏览器输入 http://node1.itcast.cn:19888/logs/ 地址或点击页面左侧Tools栏目中的红线框local logs链接会打开JHS服务的所在节点的log文件列表页面。
2.5.6 JHS 堆栈信息
浏览日输入 http://node1.itcast.cn:19888/stacks 地址或点击页面左侧Tools栏目中的红线框Server stacks链接会打开JHS服务的堆栈转储信息。stacks功能会统计JHS服务的后台线程数、每个线程的运行状态和详情。这些线程有MoveIntermediateToDone线程、JHS的10020 RPC线程、JHS的10033 Admin接口线程、HDFS的StatisticsDataReferenceCleaner线程、JHS服务度量系统的计时器线程、DN的Socket输入流缓存线程和JvmPauseMonitor线程等。
三、TimelineServer 服务
由于Job History Server仅对MapReduce应用程序提供历史信息支持,其他应用程序的历史信息需要分别提供单独的HistoryServer才能查询和检索。例如Spark的Application需要通过Spark自己提供的org.apache.spark.deploy.history.HistoryServer来解决应用历史信息。
为了解决这个问题,YARN新增了Timeline Server组件,以通用的方式存储和检索应用程序当前和历史信息。
到目前,有V1、V1.5和V2共三个版本,V1仅限于写入器/读取器和存储的单个实例,无法很好地扩展到小型群集之外;V2还处于alpha状态,所以在本章以V1.5进行讲解。
版本 | 说明 |
V1 | 基于LevelDB实现。 |
V1.5 | 在V1的基础上改进了扩展性。 |
V2 | 1.使用更具扩展性的分布式写入器体系结构和可扩展的后端存储。 2.将数据的收集(写入)与数据的提供(读取)分开。它使用分布式收集器,每个YARN应用程序实质上是一个收集器。读取器是专用于通过REST API服务查询的单独实例。 3.使用HBase作为主要的后备存储,因为Apache HBase可以很好地扩展到较大的大小,同时保持良好的读写响应时间。 4.支持在流级别汇总指标。 |
官方文档:
Apache Hadoop 3.1.4 – The YARN Timeline Server
Apache Hadoop 3.1.4 – The YARN Timeline Service v.2
YARN Timeline Service v.2 服务架构图如下:
3.1 启用 Timeline 服务
在【yarn-site.xml】配置文件中添加如下属性,启动Timeline Server服务功能:
<property> <name>yarn.timeline-service.enabled</name> <value>true</value> </property> <property> <name>yarn.timeline-service.hostname</name> <value>node2.itcast.cn</value> <description>设置YARN Timeline服务地址</description> </property> <property> <name>yarn.timeline-service.address</name> <value>node2.itcast.cn:10200</value> <description>设置YARN Timeline服务启动RPC服务器的地址,默认端口10200</description> </property> <property> <name>yarn.timeline-service.webapp.address</name> <value>node2.itcast.cn:8188</value> <description>设置YARN Timeline服务WebUI地址</description> </property> <property> <name>yarn.resourcemanager.system-metrics-publisher.enabled</name> <value>true</value> <description>设置RM是否发布信息到Timeline服务器</description> </property> <property> <name>yarn.timeline-service.generic-application-history.enabled</name> <value>true</value> <description>设置是否Timelinehistory-servic中获取常规信息,如果为否,则是通过RM获取</description> </property> |
同步yarn-site.xml文件到集群其他机器,命令如下:
[root@node1 ~]# cd /export/server/hadoop/etc/hadoop [root@node1 hadoop]# scp -r yarn-site.xml root@node2.itcast.cn:$PWD [root@node1 hadoop]# scp -r yarn-site.xml root@node3.itcast.cn:$PWD |
重启YARN服务,命令如下所示:
[root@node2 ~]# stop-yarn.sh [root@node2 ~]# start-yarn.sh |
3.2 启动 Timeline 服务
在上述配置中指定的Timeline服务位于【node2.itcast.cn】节点上,需要在【node2.itcast.cn】节点的shell客户端中启动,如果在非【node2.itcast.cn】节点上启动时会报错。
启动命令如下:
[root@node2 ~]# yarn --daemon start timelineserver |
在浏览器中输入:http://node2.itcast.cn:8188/applicationhistory
相关文章:

YARN WebUI 服务
一、WebUI 使用 与HDFS一样,YARN也提供了一个WebUI服务,可以使用YARN Web用户界面监视群集、队列、应用程序、服务、流活动和节点信息。还可以查看集群详细配置的信息,检查各种应用程序和服务的日志。 1.1 首页 浏览器输入http://node2.itc…...

【Unity3D】利用IJob、Burst优化处理切割物体
参考文章: 【Unity】切割网格 【Unity3D】ECS入门学习(一)导入及基础学习_unity ecs教程-CSDN博客 【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor_unity ijobparallelfor-CSDN博客 工程资源地址&…...

【大前端】Vue3 工程化项目使用详解
目录 一、前言 二、前置准备 2.1 环境准备 2.1.1 create-vue功能 2.1.2 nodejs环境 2.1.3 配置nodejs的环境变量 2.1.4 更换安装包的源 三、工程化项目创建与启动过程 3.1 创建工程化项目 3.2 项目初始化 3.3 项目启动 3.4 核心文件说明 四、VUE两种不同的API风格 …...
基于文件系统分布式锁原理
分布式锁:在一个公共的存储服务上打上一个标记,如Redis的setnx命令,是先到先得方式获得锁,ZooKeeper有点像下面的demo,比较大小的方式判决谁获得锁。 package com.ldj.mybatisflex.demo;import java.util.*; import java.util.co…...
简历整理YH
一,订单中心 1,调拨单 融通(Rocketmq)-订单中心:ECC_BMS123(已出单),125(分配),127(发货),129(收货) 通过RocketMq接入多场景订单数据 2,销售单 sap(FTP)-订单中心,下发1002,1003,…...
Kotlin 协程基础三 —— 结构化并发(二)
Kotlin 协程基础系列: Kotlin 协程基础一 —— 总体知识概述 Kotlin 协程基础二 —— 结构化并发(一) Kotlin 协程基础三 —— 结构化并发(二) Kotlin 协程基础四 —— CoroutineScope 与 CoroutineContext Kotlin 协程…...
微信小程序实现长按录音,点击播放等功能,CSS实现语音录制动画效果
有一个需求需要在微信小程序上实现一个长按时进行语音录制,录制时间最大为60秒,录制完成后,可点击播放,播放时再次点击停止播放,可以反复录制,新录制的语音把之前的语音覆盖掉,也可以主动长按删…...

校园跑腿小程序---轮播图,导航栏开发
hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的在校大学生…...

详细全面讲解C++中重载、隐藏、覆盖的区别
文章目录 总结1、重载示例代码特点1. 模板函数和非模板函数重载2. 重载示例与调用规则示例代码调用规则解释3. 特殊情况与注意事项二义性问题 函数特化与重载的交互 2. 函数隐藏(Function Hiding)概念示例代码特点 3. 函数覆盖(重写ÿ…...

一文读懂单片机的串口
目录 串口通信的基本概念 串口通信的关键参数 单片机串口的硬件连接 单片机串口的工作原理 数据发送过程 数据接收过程 单片机串口的编程实现 以51单片机为例 硬件连接 初始化串口 发送数据 接收数据 串口中断服务函数 代码示例 单片机串口的应用实例 单片机与…...

HTML5 网站模板
HTML5 网站模板 参考 HTML5 Website Templates...
mybatis分页插件:PageHelper、mybatis-plus-jsqlparser(解决SQL_SERVER2005连接分页查询OFFSET问题)
文章目录 引言I PageHelper坐标II mybatis-plus-jsqlparser坐标Spring Boot 添加分页插件自定义 Mapper 方法中使用分页注意事项解决SQL_SERVER2005连接分页查询OFFSET问题知识扩展MyBatis-Plus 框架结构mybatis-plus-jsqlparser的 Page 类引言 PageHelper import com.github.p…...
uniapp中rpx和upx的区别
在 UniApp 中,rpx 和 upx 是两种不同的单位,它们的主要区别在于适用的场景和计算方式。 ### rpx(Responsive Pixel) - **适用场景**:rpx 是一种响应式单位,主要用于小程序和移动端的布局。 - **计算方式**…...

什么是卷积网络中的平移不变性?平移shft在数据增强中的意义
今天来介绍一下数据增强中的平移shft操作和卷积网络中的平移不变性。 1、什么是平移 Shift 平移是指在数据增强(data augmentation)过程中,通过对输入图像或目标进行位置偏移(平移),让目标在图像中呈现出…...
java.net.SocketException: Connection reset 异常原因分析和解决方法
导致此异常的原因,总结下来有三种情况: 一、服务器端偶尔出现了异常,导致连接关闭 解决方法: 采用出错重试机制 二、 服务器端和客户端使用的连接方式不一致 解决方法: 服务器端和客户端使用相同的连接方式ÿ…...
Maven 仓库的分类
Maven 是一个广泛使用的项目构建和依赖管理工具,在 Java 开发生态中占据重要地位。作为 Maven 的核心概念之一,仓库(Repository)扮演着至关重要的角色,用于存储项目的依赖、插件以及构建所需的各种资源。 了解 Maven 仓…...
隧道网络:为数据传输开辟安全通道
什么是隧道网络? 想象一下,你正在一个陌生的城市旅行,并且想要访问家里的电脑。但是,直接连接是不可能的,因为家庭网络通常受到防火墙或路由器的保护,不允许外部直接访问。这时候,隧道网络&…...

CentOS 7 下 Nginx 的详细安装与配置
1、安装方式 1.1、通过编译方式安装 下载Nginx1.16.1的安装包 https://nginx.org/download/nginx-1.16.1.tar.gz 下载后上传至/home目录下。 1.2、通过yum方式安装 这种方式安装更简单。 2、通过编译源码包安装Nginx 2.1、安装必要依赖 sudo yum -y install gcc gcc-c sudo…...

JAVA 使用apache poi实现EXCEL文件的输出;apache poi实现标题行的第一个字符为红色;EXCEL设置某几个字符为别的颜色
设置输出文件的列宽,防止文件过于丑陋 Sheet sheet workbook.createSheet(FileConstants.ERROR_FILE_SHEET_NAME); sheet.setColumnWidth(0, 40 * 256); sheet.setColumnWidth(1, 20 * 256); sheet.setColumnWidth(2, 20 * 256); sheet.setColumnWidth(3, 20 * 25…...

通过vba实现在PPT中添加计时器功能
目录 一、前言 二、具体实现步骤 1、准备 2、开启宏、打开开发工具 3、添加计时器显示控件 3.1、开启母版 3.2、插入计时器控件 4、vba代码实现 4.1、添加模块 4.2、添加代码 4.3、保存为pptm 5、效果展示 一、前言 要求/目标:在PPT中每一页上面增加一个计时器功能…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
比较数据迁移后MySQL数据库和ClickHouse数据仓库中的表
设计一个MySQL数据库和Clickhouse数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法
目录 前言 一、问题重现 1、环境说明 2、重现步骤 3、错误信息 二、关于LATERAL 1、Lateral作用场景 2、在四至场景中使用 三、问题解决之道 1、源码追踪 2、关闭sql合并 3、改写处理SQL 四、总结 前言 在博客:【写在创作纪念日】基于SpringBoot和PostG…...

AWSLambda之设置时区
目标 希望Lambda运行的时区是东八区。 解决 只需要设置lambda的环境变量TZ为东八区时区即可,即Asia/Shanghai。 参考 使用 Lambda 环境变量...

【字节拥抱开源】字节团队开源视频模型 ContentV: 有限算力下的视频生成模型高效训练
本项目提出了ContentV框架,通过三项关键创新高效加速基于DiT的视频生成模型训练: 极简架构设计,最大化复用预训练图像生成模型进行视频合成系统化的多阶段训练策略,利用流匹配技术提升效率经济高效的人类反馈强化学习框架&#x…...

无头浏览器技术:Python爬虫如何精准模拟搜索点击
1. 无头浏览器技术概述 1.1 什么是无头浏览器? 无头浏览器是一种没有图形用户界面(GUI)的浏览器,它通过程序控制浏览器内核(如Chromium、Firefox)执行页面加载、JavaScript渲染、表单提交等操作。由于不渲…...