- 博客(389)
- 资源 (24)
- 问答 (1)
- 收藏
- 关注
原创 k8s学习(三十八) 使用OpenTelemetry+jaeger实现链路追踪
OpenTelemetry 可以用于从应用程序收集数据。它是一组工具、API 和 SDK 集合,我们可以使用它们来检测、生成、收集和导出遥测数据(指标、日志和追踪),以帮助分析应用的性能和行为。
2024-08-19 14:59:40
2281
1
原创 windows下安装onlyoffice
在命令行窗口运行 onlyoffice-documentserver.exe /DS_PORT=8585。修改安装路径下DocumentServer/config下的default.json。创建一个onlyoffice的数据库,owner选刚创建的用户onlyoffice。修改安装路径下DocumentServer/config下的local.joson。opt_wind64_24.2.exe 直接运行,一步一步安装。4、 安装onlyoffice(社区版)直接运行,一步一步安装。
2024-04-29 09:22:28
1621
2
原创 hive安装
如果创建表的注释有乱码问题,修改mysql元数据表中COLUMN_V2、TABLE_PARAMS表中对应列的编码格式为UTF8。在hive313/conf下新建hive-site.xml文件。下载一个mysql的驱动放入hive313/lib下。停止的脚本为stop-hive.sh。访问http://:10002。
2024-04-27 19:17:50
388
4
原创 k8s学习(三十七)centos下离线部署kubernetes1.30(高可用)
在k8s-master01 init后提示的不带control-plane的命令后添加–cri-socket unix:///var/run/cri-dockerd.sock。在初始化k8s集群的使用,IP填写的vip,这样安装好k8s集群之后,kubectl客户端而言,访问的vip:16443端口,该端口是nginx监听的端口,nginx会进行反向代理到3个master节点上的6443端口。(6)添加controlPlaneEndpoint处配置,配置为VIP:16443。
2024-04-27 09:31:06
2122
4
原创 k8s学习(三十六)centos下离线部署kubernetes1.30(单主节点)
在 Kubernetes v1.24 及更早版本中,可以在 Kubernetes 中使用 Docker Engine, 依赖于一个称作 dockershim 的内置 Kubernetes 组件。本次安装使用的centos系统 ipset已经安装了不再安装,仅安装ipvsadm,如果使用的没有ipset请自行安装。按下面的配置注释一些信息添加或修改中文注释附近的配置, 其中192.168.115.120是NTP服务节点的IP。将K8S依赖的镜像上传至k8s-normal-master节点,执行。
2024-04-23 22:27:36
2674
1
原创 springboot学习(八十六) springboot使用graalvm编译native程序
下载windows版本配置java环境变量,配置过程略。
2024-03-14 20:40:48
1848
原创 将phantomjs制成docker镜像
几个前的一篇文章中介绍了phantomjs+echarts生成图表图片的一种方式,但其部署复杂,制作为docker镜像运行就方便多了。
2024-02-20 20:14:54
621
原创 springboot学习(八十五) 解决springboot3.2找不到资源无法抛出404错误的问题
springboot3.2以下可以定义ErrorPageRegistrar将404错误转发到一个接口地址,但升级到springboot3.2(spring6.1)后,该配置不生效,抛出了500错误。
2023-12-28 18:59:07
1943
原创 mybatis-plus使用达梦数据库处理枚举类型报错的问题
继续一直跟踪代码,发现最终调用了最终调用DmdbResultSet类中的方法:public Object do_getObject(int var1, Class var2)调用了rs.getObject(columnName, this.propertyType)方法,此时this.propertyType是String。这个类在达梦的驱动包里,我之前用的8.1.1.193,尝试更新版本为8.1.3.62。使用mybatis-plus连接达梦数据库,枚举类型无法读取。
2023-12-12 17:36:20
1959
原创 mysql(八)docker版Mysql8.x设置大小写忽略
Mysql 5.7设置大小写忽略可以登录到Docker内部,修改/etc/my.cnf添加lower_case_table_names=1,并重启docker使之忽略大小写。
2023-12-03 18:24:39
2620
原创 nexus私服开启HTTPS
maven3.8.1以上不允许使用HTTP服务的仓库地址,如果自己搭建的私服需要升级为HTTPS或做一些设置,如果要升级HTTPS服务有两种方式:1、使用Nginx开启HTTPS并反向代理nexus;2、直接在nexus开启HTTPS。这里介绍第二种方式。
2023-12-03 18:05:25
2857
原创 基于OpenAPI、freemarker动态生成swagger文档
通过观察一个swagger文档的openapi结构,将其中需要动态替换的部分写成变量,生成freemaker的ftl模板。通过点击swagger图示链接可以查看openapi的json结构。修改一个json结构,生成一个ftl模板,将模板放在springboot项目的resources/static/data-service-swagger-templates下面"info": {"title": "通用查询-[${interfaceName}]接口",
2023-10-23 21:25:45
691
原创 springboot学习(八十四) 解决springboot中使用Redis缓存,java.time.LocalDatetime类型无法序列化的问题
修改函数:getRedisCacheConfigurationWithTtl。
2023-08-08 09:55:31
869
原创 rocketmq使用mqtt协议
rocketmq从4.9.3开始,可以兼容mqtt协议,需要安装编译一个rocketmq-mqtt工程,参考:https://rocketmq.apache.org/zh/docs/4.x/mqtt/02RocketMQMQTTQuickStart/需要安装rocketmq4.9.3以上的版本安装过程略broker.conf配置文件中添加参数,开启多队列分发特性二、打包rocketmq-mqtt安装maven配置环境变量过程略下载并打包三、配置rocketmq-mqtt下面例子中 ROCKET
2023-07-13 18:41:00
7374
6
原创 Prometheus+Grafana学习(十一)安装使用pushgateway
Pushgateway允许短暂和批量作业将其指标暴露给 Prometheus。由于这些工作的生命周期可能不足够长,不能够存在足够的时间以让 Prometheus 抓取它们的指标。Pushgateway 允许它们可以将其指标推送到 Pushgateway,然后 Pushgateway 再将这些指标暴露给 Prometheus 抓取。
2023-05-24 20:17:08
1079
原创 redis(十九)Redis6.0 setNx返回值为空的问题处理
6.0 中,已经对 setNx 命令进行了修改,新的 setNx 命令返回值为 nil 或者 OK。如果你需要检查 setNx 命令是否执行成功,可以使用 “exists”如果使用 Redis 6.0 来执行 setNx 命令,确实存在返回值为空的情况。setNx 命令返回值为 1 或 0,但是在 Redis。命令,它会返回键是否存在,如果存在返回 1,否则返回 0。例如,以下示例代码演示了如何使用 setNx 命令,并使用 exists。
2023-05-19 16:49:03
837
原创 redis学习(十八) 部署redis哨兵模式
哨兵模式核心还是主从复制,只不过在相对于主从模式在主节点宕机导致不可写的情况下,多了一个竞选机制:在所有的从节点竞选出新的主节点。每一个哨兵都是一个独立的sentinel进程,作为进程,它会独立运行。当master挂掉之后,哨兵会自动从slave中选一个作为master,若master重新启动,master则会转化为现有的master下的一个slave,当slave切换时,会通过发布订阅方式,将slave所对应的master更改。
2023-05-18 21:23:42
2232
原创 springboot学习(八十三) springboot中自定义某个对象的JSON序列化反序列化方式
springboot可自定义JSON序列化和反序列化方式
2023-05-18 08:31:16
1540
1
原创 k8s学习(三十五)飞腾2000+麒麟V10离线部署metrics-server
在有网机器上从网站https://github.com/kubernetes-incubator/metrics-server下载。拷贝metrics-server-master.zip至主节点(如果机器没有unzip,解压后再拷贝)以下操作中:192.168.100.202为docker registry的地址。查看metrics-server是否运行成功。拷贝其到离线机器K8S的master节点。打标签,IP替换为registry的IP。在麒麟V10机器下载镜像。主节点上运行如下命令。
2023-04-17 07:48:11
931
原创 使用apollo搭建MQTT服务器[windows]
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。“至多一次”,消息发布完全依赖底层 TCP/IP 网络。
2023-04-14 20:53:26
939
原创 搭建EFK(Elasticsearch+Filebeat+Kibana)日志收集系统[windows]
EFK简介Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。FileBeats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在 Elastisearch 中集中处理数据。如果需要更加强大的处理性能,Beats 还能将数据输送到 Logstash 进行转换和解析。
2023-04-11 09:33:30
4555
1
原创 k8s学习(三十四)飞腾2000+麒麟V10离线部署k8s
需要在飞腾芯片和麒麟V10操作系统下安装k8s,目前在飞腾2000下安装成功,飞腾2500还没有成功,现介绍飞腾2000下的安装流程。
2023-03-22 21:25:20
10604
1
原创 Java各种方式加解密工具类
JAVA能够实现各种加解密方式,这里对各种加密方式做了封装,包括AES、DES、BCrypt、MD5、SHA、RSA、SM3、SM4、Http Basic等。ASE为对称加密。工具类:单元测试:2.DESDES为对称加密工具类:单元测试:3、BCryptBCrpty为单向加密工具类:单元测试:4、Http Basic工具类:5、MD5MD5为单向加密引入依赖(MAVEN):引入依赖(gradle):工具类:单元测试:6、RSARSA为非对称加密工具类:单元测试:7、
2023-02-25 16:47:20
6933
原创 springboot学习(八十二) springboot中配置Caffeine和Redis缓存,自定义缓存失效时间,并自定义实现通配符删除缓存功能
在spring boot项目中,避免不了使用缓存,当前想实现单机缓存和共享缓存的配置和切换,这里使用了Caffeine实现单机缓存,Redis实现共享缓存。使用spring-boot-starter-cache只能实现全局缓存的失效时间,当前想为某些缓存单独设置失效时间,自定了缓存的配置。在清除缓存时,spring-boot-starter-cache只能定向删除单个key,通过自定义Cache和CacheManager的形式实现通配符清除缓存的功能。
2023-02-22 16:08:23
4202
原创 springboot学习(八十一) springboot中使用类和方法注解实现AOP切面,并同时生效
2、实现切面数据源切换的逻辑不用关心,这里只关心AOP,定义了一个Pointcut,使用和定位了类和方法上的注解,并使用或进行连接。环绕通知引用此切入点,并通过getAnnotation方法实现使用连接点获取到方法或类上的注解。最终此功能完成了。
2023-02-21 18:53:28
1476
原创 springboot学习(八十) springboot中使用Log4j2记录分布式链路日志
可以为每一个请求分配一个traceId,记录日志时,记录此traceId,从网关开始,依次将traceId记录到请求头中,并借用log4j2的MDC功能实现traceId的打印。其中TRACE_ID_HEADER和LOG_TRACE_ID为上下游约定好的key。2、注册traceId过滤器将LogTraceIdAutoConfiguration全限定名 写入,如果是老版的springboot,写入如果需调用其他服务,需要将获取到的traceId,写入请求头的TRACE_ID_HEADER中,例如使用o
2023-02-12 16:24:28
2849
原创 springboot学习(七十九) springboot+Mybatis使用懒加载时jackson序列化失败
springboot+Mybatis项目中使用了Mybatis的懒加载,返回前端从数据库中查询的1对1或1对多数据时,会报错。
2023-01-13 14:44:30
972
原创 解决Gradle在IDEA中运行Java17的Junit单元测试程序报错:module java.base does not “opens java.lang“ to unnamed module
【代码】解决Gradle在IDEA中运行Java17的Junit单元测试程序报错:module java.base does not "opens java.lang" to unnamed module。
2023-01-07 19:26:02
5843
原创 springboot学习(七十八) springboot中通过自定义注解实现数据脱敏的功能
对于某些接口返回的信息,涉及到敏感数据的必须进行脱敏操作,例如银行卡号、身份证号、手机号等,脱敏方式有多种方式。可以修改SQL语句,也可以写硬代码,也可以修改JSON序列化,这里介绍通过修改Jackson序列化方式实现数据脱敏。其中 OTHER类型为自定义类型,需在后面自定义脱敏的长度等。/**/*** 中文名* 固话* 手机号* 住址* 密码* 银行卡号* 邮箱* 身份证* 其他类型* */ OTHER;/**/*** 中文名* 固话* 手机号* 住址* 密码。
2023-01-05 20:40:35
1273
原创 Jackson中LocalDateTime和LocalDate自定义JSON序列化反序列化方式
上一篇文章介绍了在SpringBoot中统一定义LocalDateTime和LocalDate的Json序列化和反序列hauler方式,在某些情况下,我们需要直接操作ObjectMapper实现JSON操作,而不是通过访问接口。此时需在ObjectMapper中定义这两种时间类型的序列化方式。核心在后面添加了JavaTimeModule并注册到mapper中,此后再用mapper,则不会在序列化的字符串中出现T了。与Date类型的序列化方式一致了。
2023-01-03 10:55:57
2132
原创 springboot学习(七十七) springboot中LocalDateTime和LocalDate序列化反序列化统一处理
注意的是上面为springboot3.0后的配置类方式,如果使用springboot2.x,则将。如果提示缺少jsr310的包,那么添加其依赖即可。
2023-01-03 10:48:53
1397
3
原创 springboot学习(七十六) springboot中为多个controller添加统一访问URL的前缀
在某些情况下,服务的controller中前缀是一致的,例如所有URL的前缀都为/context-path/api/v1,需要为某些URL添加统一的前缀。能想到的处理办法为修改服务的context-path,在context-path中添加api/v1,这样修改全局的前缀能够解决上面的问题,但存在弊端,如果URL存在多个前缀,例如有些URL需要前缀为api/v2,就无法区分了,如果服务中的一些静态资源不想添加api/v1,也无法区分。下面通过自定义注解的方式实现某些URL前缀的统一添加。
2022-12-29 09:47:00
4857
1
原创 springboot学习(七十五) springboot中使用undertow作为web容器导致文件上传文件名乱码
springboot工程中,如果把web容器改为undertow,在实现上传文件接口时,如果文件名为中文,会出现乱码问题,如果使用@PathVariable接收路径中的参数也会出现中文乱码。要解决乱码问题,在配置文件中设置了undertow编码格式为utf-8,如下,但是不生效。通过跟踪源码(跟踪过滤略)发现,HttpServletRequest对象中的charsetEncoding在解析文件时变为了null。
2022-12-13 09:23:31
1507
spring oauth2 怎么处理ajax的请求
2018-08-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人