自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Linux 挂载磁盘

可以看到/dev/vda又被分成两个分区,占用了20g空间,磁盘中其他的空间还没被挂载。有好几种文件格式,需要自己选择下,一般选xfs。一路空格把剩余空间都分给最后一个分区。磁盘不分区,直接挂载到某个目录。执行 mount -a 立即挂载。写到/etc/fstab文件中。每个磁盘最多能创建4个分区。可以看到还能创建1个分区。

2024-03-26 17:55:21 362

原创 spring boot 3.2 整合 keycloak

以上操作完成后,可以访问 spring boot 项目,会自动跳转到 keycloak 登录页面,登录成功后重定向到 spring boot 项目页面。

2023-12-08 17:04:31 1203

原创 spring boot 2 升级到 spring boot 3 后文件上传失败

以上就是升级 spring boot3 文件上传失败遇到的问题及解决方案。

2023-12-01 12:14:00 1169

原创 RocketMQ 消息丢失问题排查记录

在研究 rocketmq-spring-boot-starter 代码后,发现创建消费者连接有两种方式,一种是代码里实现 RocketMQListener 接口,另外一种是在配置文件中添加订阅信息。在项目中使用的 RocketMQ 版本是 4.9.2,rocketmq-spring-boot-starter 版本是 2.2.2,消息处理逻辑也不复杂,直接引用依赖,然后创建监听器。然后查看用户代码,很明显,代码里在两个地方都加了相同主题、相同订阅组信息,因此消费者连接数就是 2。● 消息被其他客户端接收。

2023-09-28 14:45:45 1463

原创 ssh-keygen 做好免密登录后不生效

在A服务器执行 ssh-copy-id -f /root/.ssh/id_rsa.pub root@B,输入B服务器的用户名密码。执行成功后可以在B服务器的 /root/.ssh/authorized_keys 看到A服务器生成的公钥。在A服务器上登录B服务器时,B服务器需要验证A服务器是否有登录权限,通常是通过用户名密码进行校验,如果没有用户名密码则通过密钥进行校验。对于需要经常登录的服务器每次都输入密码比较麻烦,因此我们可以在两台服务器上做免密登录,即在A服务器可以免密登录B服务器。

2023-08-11 18:41:40 1593

原创 Spring boot 事务无效,报错:Transaction not enabled

后来想到每个service都集成了BaseService,其中的save、saveBatch等常用方法都放到了BaseService中,但是BaseService本身没有添加Transactional注解,添加后问题解决。上述方法是网上通用的方法,详细参考:https://www.cnblogs.com/kesimin/p/9546225.html,但是本地测试事务无效。报错是因为得不到事务标识,猜测可能是事务注解没生效。查找spring boot的事务使用方式,大多数都是说通过两个注解就可以了。

2023-03-02 09:41:12 7070

原创 发布依赖到maven仓库

maven中央仓库是一个开放的仓库,所以我们也可以把自己开发的jar推送到远程仓库,这样可以直接引入pom依赖使用我们的库。

2023-03-01 17:56:30 1056 1

原创 Idea中Lombok加载错误,提示Illegal reflective access by lombok.javac.apt.LombokProcessor...

问题Idea中试用Lombok插件时,运行程序和打包均失败,提示错误:Illegal reflective access by lombok.javac.apt.LombokProcessor to field com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs原因使用的Lombok版本和jdk版本不兼容。大多数人遇到的问题是使用的lombok版本过低,在jdk11环境下运行错误。解决解决办法有两个

2022-05-23 18:28:41 1561

原创 修改Idea的jdk版本

概述idea很多地方都设置了jdk版本,不同模块的jdk版本也可能不一样,下面整理下涉及jdk或者jre版本的几个地方。方法一File - Settings - Build, Execution, Deployment - Build Tools - Maven - Importing方法二File - Settings - Build, Execution, Deployment - Build Tools - Maven - Runner方法三File - Settings - Bui

2022-05-23 18:26:39 18876

原创 window下提示缺少或丢失Msflxgrd.ocx的解决方法

周末在使用某个软件时,提示缺少或丢失Msflxgrd.ocx的错误,网上找相关资料后解决了,这里记录下解决方法。亲身体验,出现上述错误时从三个方面确认和解决。确认提示的模块是否存在64位系统到C:\Windows\SysWOW64\目录,32位系统到C:\Windows\System32查看是否存在Msflxgrd.ocx文件。尝试重新注册模块win+R打开命令行,执行regsvr32 C:\Windows\SysWOW64\Msflxgrd.ocx注册模块。如果是32位系统则执行regsvr32

2022-05-21 21:24:14 6146

原创 同步两个远程仓库

在某些场景下,需要同步远程仓库到本地仓库,同时保留远程仓库和本地仓库的代码提交记录。例如同步GitHub上的仓库到本公司的GitLab仓库。实现方式在公司GitLab上创建两个仓库,一个用于保存远程仓库的代码,一个用于内部修改的代码。定期从GitHub上下载仓库镜像,同步到公司远程仓库,然后设置公司远程仓库到另外一个仓库的同步任务,从而实现GitHub上更新记录同步到内部仓库。具体步骤在GitLab上创建两个仓库,一个为aaa_base,一个为aaa。aaa_base用于和GitHub仓库代码.

2022-04-22 19:21:01 1342

原创 【Pulsar】二次开发过程中遇到线程阻塞问题

摘要公司有用到pulsar,原有的功能不满足需求,所以进行了二次开发。增加的功能就是简单的消息查询,通过时间段、消息ID等参数查询消息内容,使用pulsar-admin的api提供了查询接口。在测试的过程中发现查询接口会出现长时间阻塞,而且没办法恢复。分析增加的流程校验topic是否存在获取topic的所有订阅每个订阅开启一个readonly cursor通过cursor读取消息封装后返回给客户端pulsar的所有模块基本都是异步的,通过CompletableFuture实现,因此就怀

2022-03-09 15:09:05 425

原创 MySQL(Mariadb)启动失败

问题修改/etc/my.conf文件中的数据保存目录后,mariadb启动失败。排查使用systemctl status mariadb.service查看原因[root@linux-4-193 mysql]# systemctl status mariadb.service● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled;

2022-01-14 14:41:53 8988

原创 【软件安装使用】linux下httpd服务开启后不能下载文件

httpd服务开启失败,httpd文件下载失败。

2022-01-01 20:07:41 2980

原创 麒麟v10通过yum安装mariadb

1. 摘要软件系统的国产化是目前政务机构的重点工作,从操作系统、数据库软件、业务系统都在逐渐的使用国产软件进行替代(实际上很多所谓的国产软件无非是开源软件套壳:)。本篇文章记录在麒麟v10操作系统上安装数据库软件mariadb的步骤。mariadb是开源的mysql,功能和mysql基本没有区别,关键是免费的。2. 操作系统Linux cecloud-ecs-94888 4.19.90-20.1stable.ky10.aarch64 #1 SMP Sun Aug 23 11:31:17 CST 2

2022-01-01 19:32:21 2874

原创 变量原子性更新工具类(AtomicReferenceFieldUpdater)

简介为了实现对变量的原子性更新,java 提供了工具类:AtomicReferenceFieldUpdater。该类可实现对变量的 CAS 操作,填补以前只能对基本类型的原子性更新(例如AtomicInteger)。关于 AtomicReferenceFieldUpdater 的解释:一个基于反射的工具,实现原子性更新一个类实例中 volatile 修饰的字段。这个类被用于在原子性结构体中,一个类的几个变量希望被不同线程进行原子性更新。这个类并不像其他原子性工具类(AtomicLong),不能保证

2021-12-17 15:04:53 944

原创 mysql登录失败(用户密码校验失败)

一般情况启动mysql/mariadb后一般需要创建用户、设置密码、分配权限,如下:# 启动服务service start mariadb# 设置密码mysqladmin {newPasswd}# 登录mysqlmysql -uroot -p# 分配权限grant all privileges on *.* to root@"%" identified by 'pwd';# 刷新权限flush privileges;上述步骤顺序执行后,就能通过任意一台服务器,以root/{

2021-12-01 19:13:26 1255

原创 【Pulsar】RabbitMQ客户端发送消息失败问题

程序版本Pulsar:2.8.0amqp:2.8.0.1问题描述Pulsar支持通过RabbitMQ的客户端发送消息,但是实际使用过程中出现如下异常:channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=Unknown exchange:ex02, class-id=0, method-id=0)详细日志如下Exception in thread "main" java.i

2021-11-16 11:46:00 2813

原创 maven下载依赖失败

前情提要由于特殊原因,官方maven库经常连接失败,所以很多maven都配置了阿里云的镜像。但是阿里云的镜像里有很多依赖都没有,这时候如果你的项目需要这些依赖,就会导致编译失败。1. 问题1描述:This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forc

2021-10-21 18:46:05 25937 1

原创 linux防火墙(firewalld)简单使用

firewalldLinux下有几种方式对网卡上的流量进行过滤,一种是firewalld,一种是iptables。firewalld是防火墙,可以设置可信任的网络链接可网卡,支持IPv4和IPv6,支持动态的添加规则。iptables不仅仅可以当作防火墙使用,它可以对流量设置各种各样的规则,比如端口转发、开放端口等,比firewalld更为强大。下面就简单记录下firewalld的使用方式。1. 开启服务firewalld一般是Linux下的自带服务,可以通过systemctl启动。首先查

2021-10-08 14:38:25 1573

原创 【问题】duplicate-finder-maven-plugin:1.4.0:check (default) on project presto-vv: Found duplicate

问题在编译打包某些项目中出现依赖检查错误,具体如下:[ERROR] Failed to execute goal org.basepom.maven:duplicate-finder-maven-plugin:1.4.0:check (default) on project presto-vv: Found duplicate classes/resources! -> [Help 1]org.apache.maven.lifecycle.LifecycleExecutionException:

2021-10-04 17:00:32 603

原创 【问题】maven中设置不引入子依赖

问题在编译某些开源项目时,会提示如下内容:Require upper bound dependencies error for io.airlift:aircompressor:0.15 paths to dependency are:+-io.hetu.core:presto-vv:1.3.0 +-io.hetu.core:presto-main:1.3.0 +-io.airlift:aircompressor:0.15 (managed) <-- io.airlift:airco

2021-10-04 16:53:52 1013

原创 【问题】Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.1:analyze-only

问题在编译某开源项目(openLooKeng)时出现异常,导致编译失败。异常内容[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.1:analyze-only (default) on project presto-vv: Dependency problems found -> [Help 1]org.apache.maven.lifecycle.LifecycleExecu

2021-10-04 16:47:58 3007 4

原创 源发行版 11 需要目标发行版 11解决

问题Idea编译失败,提示jdk版本问题。通常这种问题可能由以下几个方面引起。1. maven设置了jdk版本如果是maven项目,需要确认maven的settings.xml文件中,是否设置了jdk的版本。检查是否有如下配置:<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault>

2021-09-30 08:37:43 6027 3

原创 shell脚本去除文件中的空行

目标文件[clooker ~]$ cat 123 aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccdddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeefffffffffffffffffffffff gggggggggggg ggggggggg[clooker ~]$ 1. 使用tr命令tr的核心功能及时删除或者转换字符,详细说明如下:NAME

2021-09-13 09:35:22 5182

原创 pulsar的客户端权限控制功能(二)

1. 概述上篇文章写了客户端连接时的验证,这篇文章写下对于客户端具体操作的权限控制,包括创建topic、发布消息和订阅消息等。2. 客户端权限控制2.1 修改broker.conf文件,打开权限控制如果要开启对权限的控制,首先需要打开对连接的验证。# Authorization provider fully qualified class-name# 这个类需要我们自己实现,继承org.apache.pulsar.broker.authorization.AuthorizationProvide

2021-07-27 19:59:09 685

原创 pulsar的客户端权限控制功能(一)

1. 概述最近在研究pulsar的权限验证部分,权限验证包含两部分:客户端连接客户端的访问控制pulsar提供了authentication和authorization两种方式实现上述两个功能,每一种方式提供了接口。2. 版本pulsar 2.8.03. 客户端连接验证默认情况下,pulsar是不会开启连接验证的,即客户端到broker之间、broker到broker之间的访问都没有任何限制。但是在线上环境中,对于权限的控制往往是很重要的。3.1 在broker.conf文件中开启客户

2021-07-27 19:45:49 1762 3

原创 记一次zookeeper连接慢的问题和解决方法

1. 环境服务器:CentOS Linux release 7.9.2009 (Core)zookeeper:3.6.3java:1.8.0_2312. 问题zookeeper客户端连接到zookeeper节点有20秒的延迟,而且每次都是20秒。自己编写客户端进行测试,通过日志看到在某个环节上会出现阻塞,导致延迟。15:49:12.424 [main] INFO org.apache.zookeeper.ZooKeeper - Initiating client connection, con

2021-07-22 19:45:45 7133 4

原创 排序算法总结

1. 概述整理常见排序算法2. 公共方法private int[] getArray() { int size = 16; int[] array = new int[size]; Random random = new Random(); for (int i=0; i<size; i++) { array[i] = random.nextInt(10); } print("before ", array); return array;}private void

2021-05-30 22:30:22 58

原创 javaagent的简单使用

1. 概述每个程序都是从main方法开始执行,指定javaagent后,则可以在main方法前执行agent的premain方法。下面说下结合javassist修改指定类的字节码信息,实现方法延时的统计功能。2. 使用示例2.1 编写方法统计代码public class Test001 implements ClassFileTransformer { @Override public byte[] transform(ClassLoader loader, String className

2021-05-30 10:21:58 311

原创 redis集群部署

1. 需求部署redis集群2. 实现方式1. 修改redis.conf,使支持集群模式cluster-enabled yes2. 启动每个服务器节点上的redis./redis-5.0.4/src/redis-server redis.conf3. 添加redis节点到集群中redis-cli --cluster create 192.168.163.132:6379 192.168.163.134:6379上述命令执行成功后,打印如下内容[OK] All nodes agree

2021-05-28 22:08:45 46

原创 shell中各种特殊符号的含义

shell中的特殊符号$0 当前脚本的文件名$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$# 传递给脚本或函数的参数个数。$* 传递给脚本或函数的所有参数。$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。$? 上个命令的退出状态,或函数的返回值。$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。...

2021-05-21 11:33:48 498

原创 linux修改字符编码

1. 目的linux服务器对中文不优化,需要修改服务器的默认编码为utf8,避免程序在中文处理时出现奇怪的问题。2. 查看服务器编码使用locale命令查看编码,结果如下:LANG=en_USLC_CTYPE="en_US"LC_NUMERIC="en_US"LC_TIME="en_US"LC_COLLATE="en_US"LC_MONETARY="en_US"LC_MESSAGES="en_US"LC_PAPER="en_US"LC_NAME="en_US"LC_ADDRES

2021-05-20 10:07:15 3041

原创 hbase Inconsistent Regions问题

1. hbase版本2.3.32. 问题界面hbck页面出现如下问题:文字描述如下:Unknown ServersThe below are servers mentioned in the hbase:meta table that are no longer ‘live’ or known ‘dead’. The server likely belongs to an older cluster epoch since replaced by a new instance becaus

2021-05-18 10:18:46 972

原创 服务器建立免密登录

1. 功能服务器之间建立免密登录,ssh时可以不用输入密码。2. 步骤目的:建立服务器A到B的免密登录,使得可以在A上直接ssh到B服务器,而且不需要输入密码。# 1.使用ssh-keygen命令在服务器A上生成密钥[root@localhost ~]# ssh-keygen Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphr

2021-05-13 15:50:48 889

原创 服务器集群管理软件clustershell的安装和使用

软件及版本clustershell 1.7.3功能集群管理工具,把一台服务器作为主控,建立到其他服务器的免密,则可以在这台服务器上统一管理其他服务器。安装1. 下载软件下载链接2. 解压到当前目录,执行安装指令tar -xvf clustershell-1.7.3.tar.gzpython setup.py install3. 添加配置文件在/etc/clustershell中添加配置文件groups.conf,内容如下:# Configuration file for Cluste

2021-05-13 15:15:48 1373

原创 【问题】hadoop读取文件失败

环境hadoop3.2.1要实现的功能和代码读取hdfs上的文件。Configuration conf = new Configuration();try (FileSystem fs = FileSystem.get(conf)) { Path basePath = new Path("hdfs://hdfs-cluster/"); FileStatus[] files = fs.listStatus(basePath); for (FileStatus file : files) {

2021-05-07 16:31:49 717

原创 ES出现read-only的解决办法

环境Elasticsearch 6.5.1问题es入库出现如下异常:Caused by: org.elasticsearch.hadoop.EsHadoopException: Could not write all entries for bulk operation [1000/1000]. Error sample (first [5] error messages): org.elasticsearch.hadoop.rest.EsHadoopRemoteException: cluste

2021-04-26 19:10:05 2446

原创 ElasticSearch 6.5.1 添加用户名和密码

需求设置ElasticSearch的用户名和密码,禁止非法用户访问。程序版本elasticsearch-6.5.1kibana-6.5.1-linux-x86_64流程1. 修改elasticsearch.yml配置文件开启验证权限xpack.security.enabled: truehttp.cors.enabled: truehttp.cors.allow-origin: “*”http.cors.allow-headers: Authorization,X-Requested-

2021-04-22 11:44:05 2880

原创 hbase执行org.apache.hadoop.hbase.mapreduce.RowCounter出错

需求统计hbase某个表的所有rowkey数量方法使用hbase提供的类,RowCounter。具体命令:./hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'table_name'出现异常命令执行后控制台出现以下错误:2021-04-21 15:46:19,787 INFO [main] Configuration.deprecation: yarn.resourcemanager.system-metrics-publisher.

2021-04-21 16:18:35 2292 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除