- 博客(74)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 Redis 缓存穿透解决
当使用 Redis 作为数据库的前置缓存时,可能会出现查询的参数并不在数据库中此字段的值中,这时候 Redis 中肯定查询不到此值,就会直接去查询数据库,造成数据库压力过大;
2023-04-25 18:09:53
397
原创 Redis 缓存刷新策略
要保证最终一致性,其实使用 redis 的 ttl 即可,第一次修改后设置小点的 ttl,下次又会再更新,因为本身脏数据出现的机率就很小(尤其先更新数据库再删除缓存形式),多次更新最终肯定是正确的值。下面是使用 二次删除 + 异步延迟删除模式达到比较好的更新数据效果,同时和程序代码解耦;要考虑是先更新缓存、再更新数据库,还是先更新数据库、再更新缓存,是更新缓存还是删除缓存,这些情况很多会因为 2 个进程因为处理速度、网络速度问题导致脏数据的情况发生;使用 二次删除 + 异步延时删除策略。
2023-04-24 19:04:32
535
原创 构造器设计模式
在类中定义一个静态内部类,在这个静态内部类中定义和外部类一样的属性并提供返回内部类的一些列方法,通过这些方法给属性赋值,在内部类的构造函数中还可以同时赋属性的默认值,最后通过内部类的 build 方法将内部对象传递给外部类的私有构造方法来实例化外部类并返回给调用者;同时还可以在外部类中提供一个静态的 builder 方法,直接实例化一个内部的 Builder 类返回,这样使用时候就可以直接 build 了,不用再 new 外部类了;也可以在类上通过 lombok 的 @Builder 注解实现构造器模式;
2023-04-13 19:08:13
162
原创 Kafka 宕机,调整内存设置
突然发现 Flink 连接不上 Kafka 了,经检查 s1 服务器上的 Kafka 宕了,尝试用命令启动 Kafka:还是启动不了。
2023-03-29 15:28:21
1035
原创 FlinkCDC 使用 FlinkSQL 方式监控 MySQL
之前写过一篇使用 FlinkCDC 的 DataStream 方式监控 MySQL 表变化的文章这篇介绍下使用 FlinkCDC 的 FlinkSQL 方式监控表变化;
2023-03-22 15:03:31
1538
原创 FlinkCDC 实时监控 MySQL
通过 FlinkCDC 实现 MySQL 数据库、表的实时变化监控,这里只把变化打印了出来,后面会实现如何再写入其他 MySQL 库中;
2023-03-21 17:11:34
3935
1
原创 Redis 的发布/订阅模式
Redis 的发布/订阅模式较 Kafka 等简单很多;Redis 通过 Channal 实现发布-订阅,订阅者可以对频道进行订阅(不存在的频道将创建频道),发布者向频道发送的消息会自动推送到订阅者端,先发送的消息,后订阅的订阅者是收不到之前的消息的;
2023-03-21 16:48:34
407
原创 MySQL 的窗口函数 OVER
ORDER BY 对 PARTITION BY 窗口中的数据进行排序,当 PARTITION BY 与 ORDER BY 列名不同时,聚合函数是根据排序进行逐个聚合计算的,当碰到 ORDER BY 相同的两个值时,同时计算两个值,并两行数据一致;2)当与 FROM 后面的 ORDER BY 字段不同时,FROM 子句的 ORDER BY 会覆盖 OVER() 中的 ORDER BY,FROM 子句中 ORDER BY 后值相同的才会按照 OVER() 子句中的 ORDER BY 排序;
2023-01-04 11:58:35
2152
1
原创 Azkaban 内存不足报错
当然如果是生产环境,最好是找到占用内存的应用看看是不是可以停掉或者转移到其他服务器,或者扩大物理内存,这样可以从根本解决问题;关闭内存检查,在所有 azkaban-exec-server 节点修改配置文件并重启服务;我的 azkaban-exec-server 节点在 s3、s4、s5 三台服务器上;查看端口 12321 是否启动。
2022-12-01 10:43:12
739
原创 Sqoop从MySQL导出时间的时区问题
当使用 Sqoop 向 MySQL 导入数据时(MySQL 的 datetime 导入到 Hive 的 string),会出现时间导入后在 Hive 表中的时间晚于 MySQL 中显示的时间 8 小时,造成数据分析错误;
2022-11-01 10:42:59
893
原创 sqoop 从HDFS导出数据到MySQL8
当数仓运算完成后,需要导出结果到 MySQL 中时,报数据解析错误;经过一通检查发现 sqoop 语句写的并没有什么错误,分隔符也没问题,也都正常分割了,但就是往 MySQL 导入时报格式匹配错误;
2022-10-27 13:12:33
1340
原创 hive 连接错误
在 hive 客户端执行命令报错报如下错误或者连接到 hiveserver2 时候连接不上;或者启动 hiveserver2 时候不能正常启动,10000 端口打不开;此时通过查询 hive.log 日志都会发现让执行 ”mysqladmin flush-hosts“ 解决;
2022-10-25 16:27:49
2919
原创 Sqoop 导入数据时的部分任务错误
查了半天,也测试了提示说的那两个配置,并不是这个问题,最后发现创建 Hadoop 集群时有台机器的 hostname 设置的不对,改过来就好了,唉,搭建集群时的一个疏忽,导致后面查了半天这个问题,在这里记录下,也给有同样问题的朋友一个提示。
2022-09-27 10:12:12
1106
原创 Hive 分区表
在 Hive 中,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中;可以按照一定维度数据进行分区存放,查询时大幅增加查询效率,同时也可以查询跨多个分区的整数集;
2022-09-20 11:07:34
245
原创 Sqoop 安装部署
今天重新部署一台 sqoop,就手再记录一下官网:sqoop.apache.org说明:sqoop 有两个大版本,1 和 2,且两个是完全不同的,但 2 现在一直是 1.99.x 版本,并未到 2.x 版本,因此我们选用 1.4.6 版本(当前最新是 1.4.7,使用最新的前一个版本);
2022-09-07 17:35:49
819
原创 替换Jar包中文件,重打Jar包
有些老的 Jar 包在执行时发现其中依赖的有些 jar 版本过老,但调用 jar 中的方法等都是一致的,又没有此 jar 的源文件时可以解压缩 jar 包后替换其中文件;本例替换文件为:将 mysql-connector-java-5.1.47.jar 替换为 mysql-connector-java-8.0.11.jar。
2022-09-07 15:52:00
2307
原创 FLUME 安装配置及使用示例
FLUME 安装配置,并给出 Source、Channel、Sink 的一些示例,详细介绍 Kafka Source、Kafka Channel、Kafka Sink 的使用
2022-09-02 15:01:14
1299
原创 EFAK V3.0.1(原Kafka Eagle)安装部署
Kafka 监控 EFAK(即原 Kafka Eagle)V3.0.1 安装配置Kafka Eagle 在 v2.0.7 版后更名为 EFAK。
2022-09-01 14:48:03
3285
原创 HADOOP 的 LZO 压缩 hadoop-lzo 编译
HADOOP 支持 LZO 的 hadoop-lzo 编译twitter 提供的 lzo 压缩的开源组件:hadoop-lzo。
2022-08-30 16:17:50
299
1
原创 Hadoop 集群时间同步设置
设置服务器集群的时间同步,一台机器同时间服务器对时,其他机器与这台服务器对时,就是发生断网等情况,也可以保证内部所有服务器都时间统一;时间同步方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间;...
2022-08-30 14:13:44
2903
原创 Activiti7 代码创建流程定义及生成bpmn及svg文件
Activiti7 代码创建流程定义及生成bpmn及svg文件,通过代码定义 Activiti7 流程定义,反向生成 bpmn 流程配置文件及 svg 图片,包含项目基本架构 SpringBoot 架构配置及代码,包含 SpringSecurity 代码;
2022-08-22 15:20:25
4067
原创 Mybatis Generator 在 IDEA 中自动生成代码
今天处理个老项目,要用以下 MyBatis Generator,好久没搞过 MyBatis 了,把这个自动生成器 Generator 的安装使用记录下;在 IDEA 中安装 MyBatis Generator 插件,自动根据数据表生成代码;注:此为 MyBatis 使用,MyBatisPlus 对应的是 MyBatis Plus Generator;...
2022-08-16 15:43:40
1130
原创 私有化搭建个人网盘 NextCloud
在局域网中搭建公司内部使用的个人网盘系统,方便大家分享文档和保存文档使用,采用了 NextCloud + Collabora 的方式搭建。
2022-08-05 16:57:01
2916
原创 GitLAB 服务器搭建及备份恢复数据
会列出可以安装的所有版本信息,因为我是要将原来gitlab上的内容转移过来,因此选择和之前一致的版本gitlab-ce-10.2.5-ce.0.el7.x86_64安装;将在原gitlab服务器上备份生成的文件拷贝新服务器上,且拷贝到/var/opt/gitlab/backups目录下。一些配置在/etc/gitlab/gitlab.rb中进行配置,如果没有端口冲突等可以不修改配置。如果要安装最新版,可以直接yuminstallgitlab-ce;打开GitLab页面。...
2022-08-02 16:39:57
1120
原创 利用 crontab 拷贝大文件
有些大文件在SHELL中使用scp命令传递时由于时间较长,会由于打开SHELL窗口的客户机关机等问题导致文件传输失败,因此可以利用Linux的crontab来让系统定时自动拷贝(如利用夜里时间),拷贝完成后删除掉crontab中的定时计划即可;...
2022-08-02 10:15:36
308
tmdb-5000-movie-data.zip
2020-05-14
cas.war 编译后的war包
2020-04-16
cas-overlay-template-5.1.zip
2020-04-15
wiki confluence 安装包
2017-12-14
sqlplus 显示上一行命令
2017-12-11
Time类中的getTime()返回的是个什么数?
2011-11-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人