- 博客(63)
- 收藏
- 关注
原创 又是天坑!DolphinScheduler 跟踪Flink任务状态不准怎么办?
又是天坑!DolphinScheduler 跟踪Flink任务状态不准怎么办?
2024-10-17 16:48:34 303
原创 天坑!Spark+Hive+Paimon+Dolphinscheduler
Spark+Hive+Paimon+Dolphinscheduler实现对Paimon增删改查离线任务执行
2024-09-30 15:01:16 782
原创 Java+selenium+chrome+linux/windows实现数据获取
对在进行业务数据获取或者自动化测试时,通常会使用模拟chrome方式启动页面,然后获取页面的数据。在本地可以使用windows的chromedriver.exe进行打开chrome页面、点击等操作。在linux 下通常使用无界面无弹窗的方式进行操作的实现方案。
2024-09-09 16:25:09 1025
原创 手把手教程本地调试Datax
使用Datax做数仓同步数据得工具,有时需要自己开发或者修改某个reader或writer插件,那么本地调试就很重要。
2024-06-14 10:37:10 656
原创 hutool.db.sql 工具类与Springboot、MyBatis整合
hutool.db.sql 工具类与Springboot、MyBatis整合
2024-06-07 16:18:46 365
原创 Docker 容器 使用docker -exec进不去
docker inspect containId |grep Pidcd /proc/Pid/root
2024-05-15 14:44:10 497
原创 嵌套DTO校验,失效
修改了一个其他同事留下的BUG,创建接口使用的是一个嵌套的DTO,里面的BDTO做了校验但没生效。在ADTO上增加 @Validated注解,在面的bDTO属性增加@Valid注解。
2024-04-17 10:19:58 309
原创 记一次CDH集群迁移产生的问题——HIVE
1. metadata.SessionHiveMetaStoreClient;2. MapReduce任务卡住
2023-12-06 17:22:04 313
原创 Datax ftp写入hive
解决这个问题正常的步骤(有些可能是多余配置,成功后我就没仔细的验证每个配置对本次修改的影响范围)1. 修改ftp文件目录的权限2. 修改vsftpd.conf3. 创建新的目录,将目录权限给你连接ftp的用户这个我也改了,但是我感觉和他没啥关系,1、2、3执行不行的话也改一下这个吧4. 重启服务,改完这些配置都需要重启的接下来我要研究这两个插件的参数具体可以控制什么细节了,以上只能让任务跑通。最后附上我得vsftpd.conf以及datax的任务json。
2023-05-30 17:53:13 1301
原创 Kylin 构建Cube报错(“com.mysql.jdbc.Driver“) was not found in the CLASSPATH
Kylin 构建Cube报错("com.mysql.jdbc.Driver") was not found in the CLASSPATH
2023-02-07 10:42:02 360
原创 并发安全笔记6——线程通信
线程之间可以通过写作方式完成一个任务,这就需要线程之间互相通信。当多个线程操作同一共享资源的时候,需要彼此通信告知状态避免资源争夺。线程通信方式有共享内存:volatile 通过volatile让线程之间对共享资源的修改可见 消息传递:wait/notify/join 线程之间可以通过消息来进行彼此通信 管道流:管道输入/输出流的形式主要了解消息传递,也就是wait/notify/joinwait/notify是一对都不陌生的线程通信方法,存在于Object类中public clas
2021-09-16 17:56:53 212
原创 并发安全笔记5——Lock
Lock是J.U.C中提供解决线程同步问题的实现方式Lock是一个接口public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long time, TimeUnit unit) throws InterruptedException; void unlock();
2021-09-15 16:59:15 160
原创 并发安全笔记4——JMM
JMMJMM是Java内存模型JMM本质上是围绕 原子性、有序性、可见性展开的。JVMJVM是Java虚拟机模型.JVM的重点是运行数据区,所有写出来的程序都会加载到这里,然后运行。因为JVM的缘故使得Java可以实现跨平台运行,一次编译处处运行。那么如何保证跨平台也可以实现线程安全的呢?就是靠JMM了。所以JMM是一种内存模型的规范,屏蔽了操作系统和各种硬件之间的差异。JMM是保证了Java在任何平台下对内存的访问都能保证效果一致的机制和规范。Java内存模型规定了:所有的变量
2021-09-14 17:22:14 137
原创 并发安全笔记3——volatile
当我声明两个线程,线程1完成:a = 1;x = b;线程2完成:b = 1;y = a;按正常来说可能发生的结果是:x=0 y=1/x=1 y=1/x=1y=0。从程序上不可能出现x=0 y=0。/** * @author:hubinbin * @date:2021/9/7 */public class VolatileDemo { private static int a, b; private static int x, y; public static...
2021-09-08 19:50:45 598
原创 并发安全笔记2——CAS
CASCAS:Compare And Swap 比较并交换synchronized关键字时互斥锁,属于悲观锁,多线程下会有:a.线程竞争锁会有加锁、释放锁导致比较多的上下文切换;b.当锁被占用的时候,其他线程都是挂起对应的,还有一种锁叫乐观锁。多线程访问时并不会加锁,只有修改时才会根据版本号对比,有冲突就自旋重试,保证安全性。Unsafe类中有compareAndSwapObject方法,它通过直接调用本地方法,直接操作内存数据//Object var1 修改对象//long var
2021-09-06 16:37:21 132
原创 并发安全笔记1——synchronized
原子性:Synchronized、AtomicXXX、Lock 可见性:Synchronized、volatile 有序性:Synchronized、volatileSynchronized同步锁:排他锁、互斥锁同一时刻只允许一个线程执行。public synchronized void methodA(){ } public void methodB(){ synchronized (this){
2021-09-02 17:26:49 120
原创 并发复习笔记
1. tpstps:每秒请求数,就是说服务器在一秒的时间内处理了多少事务数2. qpsqps:每秒请求数,就是说服务器在一秒的时间内处理了多少请求如何支撑高并发硬件资源:CPU、核心数、并行任务数量内存磁盘网卡..软件:CPU->线程:线程是cpu的最小执行单元IO->数据库交互->刷到磁盘,内存/缓存/异步刷盘策略单节点遇到瓶颈,多个计算机组成一个分布计算机多线程技术什么是线程线程是操作系统能调度的最小单元,也是cpu.
2021-08-31 16:22:37 134
原创 SpringBoot异步任务阻塞引发JVM调优
一. 背景:新功能上线后异步任务忽然阻塞了,造成所有的任务都在执行中很久都没有结果。而且整个服务接口都很慢。二. 排查过程: 发现报错任务队列已经满了,不能再接受任务 检查后发现,除异步任务外很多定时任务都加了@Async注解,所以给该异步任务新写一个任务池ExecutorTaskPool。 修改后上线,发现会快一点,没有报错,但是依然阻塞。效果不理想。 对比新老版本,发现上线了一个新功能,该功能增加了一个定时任务为每30秒钟执行一次,并且每次都是以线...
2021-06-24 14:31:36 688
原创 ES term精确查询问题
背景:同事突然线上除了bug,在测试环境正常上了生产查询不出来数据。因为业务是日志相关,数据入es都是直接放到索引下而不是构建mapping,所以字段A的类型是text,fields是keyword。查询方式使用terms查询。分析:通过_analyze可以看出该此被分词解析成全小写 通过建立一个定义好类型是keyword的字段A查询后发现被分词解析成与值完全一致因此猜测,测试环境的数据应该都是全小写的,所以测试环境正常,生产环境查不到所以将字段后加上....
2021-04-07 15:04:29 2213
原创 恢复未保存word文档
一. 背景:写好的word还未保存,电脑就自动升级,升级好后发现文件没有了二.恢复方式:1.打开word2. 找到保存中自动恢复文件位置3. 在文件管理中打开,根据丢失时间找到丢失文件并备份(操作备份文件防止损坏原始文件更无法恢复)C:\Users\72900\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\LocalCache\Roaming\Microsoft\Word\4. 打开word,打开.
2020-10-16 11:40:07 661
原创 flyway框架使用异常
1. 背景:使用flyway框架,初始化sql数据2. 异常:3. 解决方案:执行SELECT * from flyway_schema_history可以发现1.0.2错误,所以删除这条数据让框架重新执行这个sql,就正常了
2020-06-28 17:27:02 298
原创 linux下启动命令失效
问题. 新的服务起部署了tomcat,打算启动项目,发现命令失效解决方案:启动tamcat;命令:./startup.sh出现如下提示,需要对此目录进行权限设置:-bash: ./startup.sh: Permission denied终端命令:chmod u+x *.sh再次启动./startup.sh出现Tomcat started.启动成功...
2020-06-11 13:56:57 415
原创 Spring Cloud +Nacos 热更新
1. 环境:JDK8 SpringCloud 2.2.0 RELEASE Nacos1.1.42. 问题:nacos上的配置文件可以读取到,但是发现不能热更新3. 尝试办法1:在用到配置项的类上都加上注解@RefreshScope 结果 :没有成功 尝试办法2:将@value 注解替换成@NacosValue 结果 :没有成功 尝试办法3:将@value 注解替换成@NacosValue ...
2020-06-11 13:54:59 4469
原创 Shell制造es数据脚本
背景:因为很多项目都需要从es中获取数据,测试不会自己造es数据,所以每次都要问。然而问过之后一段时间就忘了,而且一条一条的造也很累。所以写了一个shell脚本目的:只需要修改shell脚本里的一些参数,然后执行脚本就能得到造好的数据,再使用批量创建es数据的命令制造数据。简化制造数据的成本。脚本:```#!/bin/bash#!固定变量无需修改date="`date "+%Y...
2020-03-18 18:43:10 1508
原创 SpringBoot项目idea启动webApplication启动类报错
可以看出没有选择module,找到Environment 查看use classpath of module果然没有选择模块,所以要选上WebApplication类所在模块红色X消实项目正常启动
2020-03-13 17:03:00 887
原创 ES查询当前时刻数据不准确
我在查询es的时候,第一次根据时间范围(截止时间是当前时间精确到秒),查询出来100条数据,以他们的tranceid作为第二次查询的条件;第二次查询,根据上次的100个tranceid(不约束时间范围)查询,但是结果不到100条,并且每次查询结果都不相同(不一定递增),一分钟左右后恢复正常,能查询出100条数据我把第二次的语句打印出来去kibana去查询,也是相同的情况每次查询结果都不相同(...
2020-03-13 14:13:43 2457 2
原创 git fork流程
背景:公司决定使用git fork的方式管理项目1.从远程仓库A fork到自己仓库B2.从自己仓库clone到本地3.git remote add upstream https://gitLab.XXXX.com/A/project(添加一个upstream指向远程仓库)4.git fetch upstream(获取A上的所有分支到你本地)5.git merge upstream/...
2019-12-11 10:09:02 1047
转载 linux下解决tomcat中文乱码问题
转自:https://blog.csdn.net/m0_37392489/article/details/77683876在tomcat下的conf目录文件夹下server.xml文件中添加useBodyEncodingForURI="true"能很好的解决此类问题的发生。<Connector port="8080"useBodyEncodingForURI="true"red...
2019-11-28 16:48:58 1357 2
原创 ES按聚合后指标排序
环境es51.根据原数据字段分组后进行排序:service_duration_agg = AggregationBuilders.terms("serviceAgg").field(ESConstUtil.METHOD).order(Terms.Order.count(false)).size(3); Terms.Order.count(false):表示根据这个字段的count进行排序...
2019-08-23 15:05:32 4767 4
原创 代理模式
一.静态代理。静态代理常用的如:三层架构。缺点是不符合开闭原则。二.动态代理1.JDK动态代理 (实现InvocationHandler接口,实现invoke方法,被代理的类需要集成一个接口)Proxy是一个工具类,实际上的作用就是动态生成字节码并编译执行新生成的类。这里传入的clzz.getInterfaces() 就是为了获取到接口并且为新生成的类提供生成方法...
2019-08-13 18:42:40 125
原创 原型模式
原型模式的作用,简化new一个对象的繁琐复杂的过程。BeanUtils.copy()JSON.parseObject()都是原型模式。返回结果false,可以看出t1t2的地址不同,只是将里面的属性值复制给了t2,但真的是这样么?发现,当改变t2的classmate的时候,t1也随之改变了。这里引出一个概念,浅克隆与深克隆。浅克隆与深克隆的区别在于非基本对象的赋值...
2019-08-12 18:06:39 102
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人