- 博客(200)
- 收藏
- 关注
原创 spring boot连接clickhouse集群,实现故障节点自动切换
2. 自定义ClickHouseDataSourceWithFailover,连接失败时自动连接下一个节点。程序去连接clickhouse集群,要求当连接到故障节点时,可以自动去连接后面的可用节点,实现高可用。1. 新建ClickhouseDatasource,使用自定义的datasource。
2025-03-14 11:17:16
345
原创 spring boot程序启动时读取&覆盖配置文件中的变量
1. 自定义ApplicationContextInitializer,spring启动时会执行自定义的initialize方法。
2025-03-14 11:11:52
354
原创 spring boot实现程序运行过程中数据源动态切换
项目中有一个需求,spring boot项目连接postgres数据库的地址,是存储在etcd当中的,在程序启动后,当etcd中的地址变化时,需要程序去连接新的postgres地址。1. 修改Datasource定义,改为使用DynamicPGDataSource,它是一个自定义类,集成了。3. 定义re方法,当监听到数据源IP更改之后,去切换连接到新的数据源,并且关闭老的数据源连接。
2025-03-14 10:54:54
547
原创 clickhouse集群搭建
准备三台机器,192.168.20.7,192.168.20.8,192.168.20.10用于搭建clickhouse集群。本次搭建的集群,为三副本的,即一份数据会在三台机器上分别存储,搭建集群只是为了容灾。
2025-02-21 09:43:03
1089
原创 nats集群搭建
本次使用三台机器搭建nats集群,ip分别为192.168.20.7、192.168.20.8、192.168.20.10,预先在三台机器上装好nats,版本为0.0.35。
2025-02-20 16:22:52
759
原创 etcd集群搭建
initial-cluster-state:指定集群的初始状态,new表示是新集群,如果是加入已有集群,设置为existing,只有在首次启动集群时,才需要设置为new。initial-advertise-peer-urls:etcd 节点在初始化集群时向其他成员宣告的自己的对等通信地址。initial-cluster-token:集群的唯一标识,用于区分不同的etcd集群。advertise-client-urls:指定客户端访问 etcd 节点的地址。name是当前节点在etcd集群中的唯一名称。
2025-02-20 11:17:44
900
原创 linux提示结构需要清理
定期检查磁盘:定期检查磁盘的状态,并在检测到故障时立即更换磁盘,可以避免磁盘故障导致文件系统损坏。正常关机:在关机之前,请确保保存并关闭所有打开的文件,并使用操作系统提供的关机选项正常关机。使用稳定的硬件:使用质量可靠的硬件,并避免频繁更换或升级硬件,可以减少硬件故障的风险。不正常关机:如果你在文件系统写入数据时强制关机或系统崩溃,可能会导致文件系统损坏。硬件故障:硬件故障,如电源问题、主板故障等,可能会导致文件系统损坏。磁盘故障:磁盘故障,如坏道或故障扇区,可能会导致文件系统损坏。
2024-12-26 13:58:33
1006
原创 clickhouse复现&修复 结构需要清理 错误 structure need clean
在工作过程中,偶然发现clickhouse有时会出现数据目录结构需要清理的问题,但是很难复现,经过不断尝试,将clickhouse安装在设备上,然后写了一个程序持续插入clickhouse数据,然后突然拔掉设备的电源,可以复现此类错误,试验了五次,有两次出现了这个错误。在系统启动时,检查是否存在有问题的文件夹,有的话将其重命名,这样clickhouse可以正常启动,但是会丢失部分日志。
2024-12-23 16:58:38
408
原创 clickhouse解决suspiciously many的异常
clickhouse安装在虚拟机上,持续写入日志时,突然关机,然后重启,会出现clickhouse可以正常启动,但是查询sql语句,提示suspiciously many异常,如图所示。service clickhouse-server restart 重启clickhouse即可。
2024-12-23 14:05:42
347
原创 clickhouse一直重启,日志提示structure needs cleaning
发现测试环境的clickhouse一直重启,日志报错structure needs cleaning,进入clickhouse的数据目录,执行命令find ./ -name aaa,发现确实存在文件夹损坏的情况。通过重命名损坏文件夹,clickhouse可以正常启动。
2024-12-19 15:23:09
468
原创 clickhouse优化记录
四、查询group by order limit时,如果group by的key distinct值比较多,且key的长度较长,可能总是会内存溢出,此时考虑从产品层面,解决这个问题。比如表的结构是 order by(id, name, age)时,当order by id desc limit 100的情况下,可以使用到此索引,加快查询。在大数据量的情况下,如果查询语句中,可以使用分区键来进行查询,可以极大缩小数据的查询范围,加快查询速度。当表存在多列,且其他列有长度明显较大的列时,速度提升更为明显。
2024-12-19 15:17:00
436
原创 mybatis clickhouse log4j设置打印sql
其中*.mapper是查询clickhouse的包名。在log4j.xml文件里,增加行。
2024-11-22 16:32:21
157
原创 docker更改数据目录
1. 创建新的数据目录,并且将老的目录拷贝过来。更改docker配置文件。4. 查看docker数据目录。3. 重启docker。
2024-11-12 10:29:09
437
原创 linux进行磁盘分区
然后df -h 查看挂载信息是否正确,正确的话,重启系统,试一下重启之后,挂载是否生效。临时挂载、重启会失效: mount /dev/sbd1 /data。blkid /dev/sdc1 查看磁盘uuid并且复制。输入分区的大小 +100G就是分100G出来。/dev/sdb1为刚分出来的磁盘空间。将分出来的磁盘,挂载到对应目录。1. lsblk查看磁盘信息。输入n 创建一个新的分区。输入p 创建一个主分区。输入1-4的一个分区号。执行mount -a。
2024-11-11 16:27:31
258
原创 mysql导出数据
mysql -h ip -P port -u username -p --batch --quick -e "SELECT * FROM a.mobile" a > output.csvmysql -h ip -P port -u username -p --batch --quick -e "SELECT * FROM a.mobile" a > output.txt
2024-10-24 09:40:02
366
2
原创 golang生成并分析cpu prof文件
点击view, Flat%为占用cpu的百分比,从这里可以看出占用cpu最多的方法。在主协程中新启一个协程,当请求接口时,生成一个60秒的cpu.prof文件。1. 定义一个接口,请求接口时,生成cpu.prof文件。2. 分析cpu.prof。
2024-10-15 17:14:32
553
原创 解决linux安装docker之后无法启动的问题
使用apt安装docker之后,使用systemctl start docker总是失败,查看报错日志也没有发现问题。经过上网搜索,运行dockerd命令之后,发现是缺少runc的依赖,使用apt安装runc之后,docker可以正常启动。
2024-10-08 15:40:41
268
原创 linux分割与合并文件
有时需要将大文件分割为多个小文件,方便上传到其他系统,然后再进行合并成原先的文件。将big.tar按照500M的大小分割成多个文件,文件名称以part_开头。
2024-10-08 15:37:44
216
原创 dump java内存并进行分析
mac进入/usr/bin/,执行jvisualvm ./jvisualvm。其中2853是java的PID,将其改为自己想要dump的java进程ID。如果不存在,可以从其他机器将完整的jdk拷贝过来,然后进行使用。点击左上角的装入快照,就可以查看对象数目及占用的空间大小了。三、分析,将hprof文件下载到本地。一、确保机器存在jmap命令。
2024-09-24 16:27:46
943
原创 golang设置远程调试
go build之后将编译号的dlv命令路径添加到PATH里。2. 目标机器下载源代码并且运行dlv。1. 目标机器构建安装dlv。3.本机添加go remote。
2024-07-26 17:09:23
646
原创 centos更改yum源为阿里
mkdir /etc/yum.repos.d.backupmv /etc/yum.repos.d/* /etc/yum.repos.d.backupcd /etc/yum.repos.dcurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum makecache
2024-05-15 14:41:01
160
原创 go 使用pprof查看内存分布
三、调用接口,生成prof文件后,下载到本地,然后本地启动http页面,观察内存分布。二、在main方法中,新启一个协程,启动http接口。
2024-04-08 14:34:07
686
1
原创 odbc Data source name not found and no default driver specified
发现除了需要设置 /etc/odbc.ini之外,还需要设置 /root/,odbc.ini,直接将/etc/odbc.ini复制到/root/.odbc.ini即可。没有设置USER DATA SOURCES的.odbc.ini文件。odbcinst -j 查看odbc配置。
2024-01-11 10:13:12
1537
原创 linux修改dns,解决无法连接外网
vi /etc/resolv.confnameserver 114.114.114.114nameserver 8.8.8.8search localdomain
2024-01-10 16:37:36
815
原创 linux安装启动 神通数据库
链接: https://pan.baidu.com/s/1oKyA9oHwW2LUX0McmxZhtw?pwd=5j49 提取码: 5j49 复制这段内容后打开百度网盘手机App,操作更方便哦。如果系统没有unrar命令,可以参考以下链接进行安装。可以使用dbeaver连接神通数据库。2003端口启动,说明服务启动成功。1. 上传到linux服务器。密码: szoscar55。用户名: sysdba。
2023-11-09 10:45:04
979
原创 go 使用 odbc 报错 SQLSetEnvUIntPtrAttr
usr/lib64/libodbc.so 的包不对,centos下正确的包 md5是。unixodbc已经安装好,并且使用isql连接数据库没有问题,最后发现是。在centos下使用odbc连接数据库,报错。
2023-11-09 10:15:12
334
原创 linux 安装配置odbc&连接mysql数据库
配置完成之后,使用isql -v mysql1即可连接数据库。如果driver不存在,则需要安装。二、配置mysql数据源。
2023-11-08 15:07:46
1480
原创 goland setup go env
点击goland->preference,在go module里,设置go环境变量即可。go env -w设置的变量,在goland中不生效,需要额外配置。
2023-10-30 11:05:26
543
原创 clickhouse Checksum doesn‘t match: 问题修复
使用clickhouse-bitflip修复损坏的clickhouse数据,将代码下载下来,进行build,然后修复出问题的文件。像上面的报错,需要修复的文件是。
2023-08-16 15:35:02
2114
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人