- 博客(159)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
原创 loki采集docker日志
本文通过安装 docker loki plugin 直接采集docker容器日志,并推送至loki。文件(如果没有就新建).
2023-06-28 17:43:16 1932
原创 在同一个类中调用另一个方法没有触发 Spring AOP 的问题
Spring AOP 是使用了一个代理对象来包装目标对象, 并拦截目标对象的方法调用。在目标对象中调用自己类内部实现的方法时, 这些调用并不会转发到代理对象中, 甚至代理对象都不知道有此调用的存在。以上参考:https://segmentfault.com/a/1190000008379179,实测有效。返回之后的业务逻辑,但是实际情况是这个。我们的计划是通过定义切点,处理。方法不是直接被调用的,而是通过。
2023-02-21 11:59:35 377
原创 springboot使用Conditional细粒度控制Bean实例化
实例化哪个对象,springboot 中 @Conditional 注解可以帮助我们细粒度控制 bean 的实例化。传入配置优先级比较高,所以通过context可以获取到,如果通过别的配置文件可能无法获取则需要手动加载。在 springboot 中一个接口有多个实现,我们希望通过配置来控制。
2022-09-16 14:23:38 354
原创 Kubernetes存储Longhorn
简介Kubernetes的高可用持久化存储简单的增量快照和备份跨集群灾难恢复安装环境要求# 运行这个命令检查环境curl -sSfL https://raw.githubusercontent.com/longhorn/longhorn/v1.2.3/scripts/environment_check.sh | bash# 所有节点安装必要依赖yum install iscsi-initiator-utilsyum install nfs-utilsyum install jq -y
2022-02-08 14:42:30 954
原创 podman安装使用
说明作为 Docker 的替代品,Podman 的操作和 Docker 高度兼容,在运行方式上, Docker 依赖于守护进程,Podman 不需要守护进程。CentOS安装yum -y install podman简单使用# 创建一个容器podman run --rm -p 80:80 --name nginx nginx:alpine设置容器开机启动由于Podman没有守护进程,所以自身无法实现开机自启功能,需要配合系统本身实现.# 为刚刚的容器创建一个服务配置podman ge
2021-10-15 11:46:31 530
原创 Linux系统添加一块新硬盘不用关闭系统即可加载硬盘信息的操作
ls /sys/class/scsi_host/echo "- - -" > /sys/class/scsi_host/host0/scan
2021-07-09 17:25:49 397
原创 使用yaml文件安装ingress-nginx
本文使用kubernetes环境: v1.19,不是这个版本apiVersion可能不一样.说明之前通过helm方式安装ingress-nginx,具体参考3.2 使用Helm部署Nginx Ingress.但是现在http://mirror.azure.cn/kubernetes/charts仓库已经无法使用.本文通过yaml文件安装.创建serviceaccount这里没有梳理可能用到的权限,所以直接赋予了全部权限.apiVersion: v1kind: ServiceAccoun.
2021-07-05 17:10:41 749
原创 k8s中挂载的configmap或者secret更新后服务自动更新
插件说明当我们部署的DeploymentConfig, Deployment, Daemonset, Statefulset等服务所挂载的ConfigMap或Secret发生变化的时候,我们的服务可以自动更新.官网插件安装# kubernetes >= 1.9kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml使用
2021-07-05 10:03:22 1818
原创 centos7磁盘分区与挂载
新增一块存储设备# 新增完之后可以用以下命令确认[root@node1 ~]# fdisk -l磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x0009f53f 设备 Boot Start End
2021-06-29 14:09:34 658
原创 springboot集成Prometheus
接口说明springboot集成Prometheus需要开发的接口有:监控JVM、tomcat等相关的指标;自定义监控程序相关指标;监控JVM、tomcat等相关的指标micrometer已经为我们做好了相关的接口,只需要引入依赖即可.<!--集成Prometheus--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr
2021-06-23 10:34:38 1434
原创 使用canal监听mysql数据变化
canal介绍canal是阿里开源的数据库同步框架,采用非侵入式方式,解析mysql的binary log,再发送到目的地,目的地可是mq,hbase,mysql,es等.本章流程开启mysql的bin-log日志创建mysql用户获取bin-log日志canal采集bin-log日志canal-client获取mysql变化信息开启bin-log日志只需要在mysqld.cnf新增配置server-id=1log-bin=mysql-bin创建mysql用户create us
2021-06-11 10:38:22 1707 3
原创 docker-compose部署zookeeper集群
编写docker-compose.ymlversion: '3.1'services: zoo1: image: zookeeper:3.5 restart: always hostname: zoo1 volumes: - /root/zookeeper/1/data:/data - /root/zookeeper/1/datalog:/datalog ports: - 2181:2181 environment
2021-04-09 16:22:39 362
原创 shell脚本自动登录服务器并执行命令
expect解析器安装yum install expect测试脚本#!/usr/bin/expectspawn scp user@192.168.1.11:/data/test.txt test.txtexpect "*password:"send "123456\r"interact
2021-04-02 18:00:53 1374
原创 gitee open API和GitHub restful API使用
说明gitee和github都提供了丰富的restful API,用于开发人员操作仓库.gitee Open APIgithub restful APItoken获取gitee和github私有仓库或者部分接口都需要用户权限认证,本文均使用token方式验证.gitee token 获取选择【用户】 - 【设置】 - 【私人令牌】 - 【生成新令牌】. 使用私人令牌,可以通过Gitee Open API访问你授权的数据.github token 获取选择【用户】 - 【Sett
2021-04-02 10:14:53 3821
原创 SpringBoot 如何关闭httpclient在控制台输出DEBUG日志
spring boot中使用httpclient只需要引入下面的依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version></dependency>但是启动的时候有个问题,httpclient默认使用
2021-03-30 14:19:28 1973
原创 centos离线环境下安装docker和docker-compose
下载软件包docker软件包下载地址docker-compose软件包下载地址本次安装下载的软件包版本:docker-19.03.9.tgzdocker-compose 1.24.1关闭防火墙本次安装使用centos7.5操作系统.# 关闭防火墙systemctl stop firewalldsystemctl disable firewalld# 查看防火墙状态systemctl status firewalld# 关闭selinuxsetenforce 0
2021-03-23 12:08:27 1208 1
原创 docker-compose更新单独某个服务镜像
#!/bin/shecho -e "\033[0;32m 请选择更新哪个服务的镜像并重启: \033[0m"# 服务名echo "1 : authservice"echo "2 : dbcompare"echo "3 : graphcompare"echo "4 : hbasecompare"echo "5 : parse"echo "6 : query"echo "7 " taskservice"read -p "Enter the No :" noecho -e "\033[0
2021-03-02 13:37:07 4387 2
原创 kubeadm更新证书及配置
问题通过 kubeadm部署k8s,默认生成的证书有效期是一年.需要每年更新证书.查看证书有效期kubeadm alpha certs check-expiration更新证书kubeadm alpha certs renew all通过crontab定时更新证书0 0 15 10 * kubeadm alpha certs renew all证书过期kubectl命令无法使用# 更新客户端配置sudo cp -i /etc/kubernetes/admin.conf $HOME/
2020-12-09 13:48:11 1904
原创 springboot配置多数据源,及多数据源下驼峰命名转换失效问题解决
配置application.ymlspring: datasource:# 第一个数据源 first: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://192.168.41.128:3306/first?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password:
2020-12-09 13:46:21 1711
原创 RestTemplate请求PUT/DELETE方法无返回值问题
使用exchangeimport com.alibaba.fastjson.JSON;import com.crd.service.routing.bean.AddrInfo;import com.crd.service.routing.bean.Response;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import o
2020-11-17 15:11:50 1754
原创 java枚举类的正确使用
规范使用枚举类public enum StatEnum { SUCCESS(1,"成功"), END(0,"失败"), REPEAT_KILL(-1,"重复"), INNER_ERROR(-2,"系统异常"), DATA_REWRITE(-3,"数据异常"); private int state; private String stateInfo; StatEnum(int state, String stateInfo) {
2020-11-17 15:11:01 540 2
原创 Hbase命令设置TTL/编码设置TTL
Hbase关于TTLColumnFamilies可以以秒为单位来设置 TTL(Time To Live)长度,一旦达到到期时间,HBase 将自动删除行。设置 hbase.store.delete.expired.storefile 为 false 将禁用此功能。将最小版本数设置为 0 以外的值也会禁用此功能。也支持设置时间以每个单元为基础生存。单元TTL 是使用突变 setTTL 作为突变请求(例如:Appends、Increments、Puts)的属性提交的.单元 TTL 以毫秒为单位而不是秒
2020-11-12 10:28:27 3538
原创 docker-compose配置depends_on无法解决启动顺序问题解决方案
问题docker-compose配置容器启动顺序,有时依靠depends_on并不能完全解决,主要原因是:depends_on只能保证容器进入了running状态,而不保证进入ready状态.Control startup and shutdown order in Compose解决方案启动命令前增加判断依赖服务状态的工具wait-for-itdockerizewait-for示例:version: "2"services: web: build: . p
2020-11-10 17:44:27 5421
翻译 docker目录映射加z或Z标签是什么含义呢?
配置selinux标签如果使用selinux,则可以添加z或Z选项来修改要装入容器的主机文件或目录的selinux标签。这会影响主机本身上的文件或目录,并可能导致超出Docker范围的后果。该z选项指示绑定安装内容在多个容器之间共享。该Z选项指示绑定安装内容是私有的且未共享。这些选项请格外小心。绑定安装系统目录(例如/home或/usr带有该Z选项)会使主机无法操作,并且您可能需要手动重新标记主机文件。重要说明:将绑定安装与服务一起使用时,selinux标签(:Z和:z)以及将:ro被忽略。
2020-11-10 13:45:10 4521
原创 harbor更新SSL证书
申请证书FreeSSL.cn,一个提供免费HTTPS证书申请的网站下载下来的证书.pem格式可以直接修改成.crt格式.私钥.key格式的文件.更新harbor证书服务器harbor由docker-compose启动.更新这个目录下证书文件cat harbor.yml# https related confighttps:# # https port for harbor, default is 443 port: 443# # The path of c
2020-11-09 14:52:03 4459
原创 二维码扫码登陆流程设计
流程图网页端生成随机code,携带code去请求一张二维码图片;网页端轮询code是否登录成功状态;APP端扫描二维码,获取二维码内容;APP端验证二维码是否过期/无效;如果二维码有效,展示确认登录/取消按钮;APP端携带登录信息token确认登陆;后端为code绑定登录信息(token,userName),网页端轮询获得登录成功信息....
2020-11-06 10:33:16 1180
原创 mysql定时删除数据
查看mysql是否开启定时任务mysql> show variables like '%scheduler%';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| event_scheduler | OFF |+-----------------+-------+1 row in set开启mysql定时任务-- 临时开启SET GLOBAL event_sche
2020-10-28 09:52:15 1020
原创 springboot奇怪问题【1】—— HttpServletRequest和@Async搭配使用出现的问题
HttpServletRequest和@Async搭配使用问题问题描述:希望将request中参数传递到service中处理,同时service是使用异步@Async,此时通过request.getParameterMap()获取参数列表只能在程序启动第一次才能获取到,第二次及之后获取为空,测试如果去掉@Async注解则每次都能获取到参数.// Controller层@GetMapping("/call")public String callback(HttpServletRequest reque
2020-10-20 15:38:32 1819
原创 java插件化设计开发
问题java实现动态从jar包加载插件并运行.实现定义插件运行的接口,用户需要自己实现的public interface PluginService { /** * 插件运行方法 */ void process();}定义插件实体类@Datapublic class Plugin { /** * 插件名称 */ private String pluginName; /** * jar包完整路径
2020-09-29 13:46:08 2236 1
原创 kubernetes统一日志【loki持久化相关配置】
查看配置# 查看helm安装Loki默认配置[root@master ~]# helm inspect values loki/loki > loki.yaml[root@master ~]# cat loki.yaml# 部分配置config: storage_config: boltdb: directory: /data/loki/index filesystem: directory: /data/loki/chunks table_m
2020-09-01 15:04:56 2581
DiffMerge_4_2_0_697.rar
2020-05-18
Flink_SQL开发指南_cn_zh-CN.pdf
2020-04-30
jetstack/cert-manager CRDs
2020-01-07
年会策划ppt模板
2017-12-24
张孝祥Java高新技术_73_源代码
2017-12-24
Dubbo分布式服务框架视频教程(18G)
2017-12-24
URL高效匹配算法如何实现?
2021-08-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人