- 博客(36)
- 资源 (6)
- 收藏
- 关注
原创 K8S证书过期替换及后续偶现问题解决
K8S证书过期问题及解决方案 本文档记录了K8S集群证书过期问题的处理过程,主要包括三个故障场景及对应解决方案: 证书过期报错(x509证书无效):通过kubeadm alpha certs renew all更新所有证书,并更新kubeconfig配置 更新后连接被拒绝:通过重新生成所有证书和kubeconfig文件解决 Master节点NotReady状态:因kubelet客户端证书过期导致,需要检查并更新/var/lib/kubelet/pki目录下的证书文件 所有操作均需在Master节点执行,处理
2025-10-24 15:39:58
425
原创 证书更新后 K8s Master状态NotReady
Kubernetes集群中k8s-master02节点状态显示为NotReady,经排查发现kubelet客户端证书已过期。错误日志显示证书于2024-12-05到期,且无法加载bootstrap配置文件。通过检查/var/lib/kubelet/pki目录发现使用的是旧证书kubelet-client-2024-08-19-08-12-55.pem。解决方案是备份并修改/etc/kubernetes/kubelet.conf文件,替换其中的client-certificate和client-key-dat
2025-08-05 17:13:28
260
原创 docker部署redis集群(3主6从)
创建数据文件夹和配置文件9个节点访问端口依次改为:7101,7102,7103,7201,7202,7303,7301,7302,73039个节点的集群节点总线端口依次为:17101,17102,17103,17201,17202,17303,17301,17302,17303在/home/app/redis/redis01-cluster/conf/ 路径下编辑配置文件 #其余节点也需要配置,略有不同requirepass “密码” #如果主节点开启访问验证,从节点访问主节点需要验证;
2024-10-09 09:53:32
1606
1
原创 k8s节点踢出重新加入集群
摘要:本文记录了Kubernetes集群节点(k8s-node02)的移除与重新加入过程。首先通过kubectl drain命令驱逐节点上的Pod,然后删除节点。在节点上执行kubeadm reset清理配置后,使用新生成的token通过kubeadm join重新加入集群。最终验证节点状态显示所有节点(包括重新加入的k8s-node02)均已恢复Ready状态。整个过程涉及master端节点管理操作和node端重置配置步骤,适用于v1.17.6版本的Kubernetes集群维护。
2024-04-29 14:51:55
414
原创 python 使用sqlalchemy报错(pymysql.err.OperationalError)2006 和 2013
MySQL默认的wait_timeout时间28800秒,即8小时,超过8小时,MySQL就会放弃连接。可以看一下自己的MySQL设置的时间是多少,运行show variables like '%timeout%';如果出现检测为“disconnect”情况的错误,则该连接将立即被回收,并且所有其他比当前时间早的池连接都将失效,以便下次它们处于丢弃后,也会在使用前回收利用。每次从池中签出连接时,“pre-ping”功能通常会发出相当于“select 1”的SQL;修改my.cnf中并重启数据库。
2024-04-25 16:32:41
1003
1
原创 docker部署python项目
在目录下面新建三个文件:Dockerfile,项目文件,requirements.txt。在dockerfile所在的目录下运行。
2024-04-22 14:53:43
772
1
原创 Elasticsearch查询10000条限制解决方案
如果您的搜索结果超过了 max_result_window 的值,那么 Elasticsearch 将会返回一个错误,提示您使用 scroll API 或者增加 max_result_window 的值来处理这个问题。这意味着,如果您执行一个搜索请求,请求的结果超过了 10000 条记录,那么只会返回前 10000 条记录,并且 Elasticsearch 会在响应中包含一个 hits.total 字段,该字段表示总共匹配了多少条记录。search_after查询。
2023-10-31 11:29:05
6351
原创 redis数据迁移
本文介绍了两种Redis数据迁移方案:一是使用唯品会开源的Redis-Migrate-Tool(RMT)工具,支持在线迁移且不中断服务;二是通过Python脚本实现,包括基础版本和多线程优化版本。Python脚本支持集群到单节点的迁移,能够处理字符串、集合等多种数据类型,并保留过期时间。优化版本通过线程池和批量操作提升迁移效率,最后提供了执行时间统计功能。两种方案各有优势,可根据实际场景选择使用。
2023-10-26 15:40:43
596
原创 Java生成id
具体使用哪种策略取决于具体的应用场景和数据库的支持情况。需要注意的是,使用@GeneratedValue注解生成的ID并不是在实体类被创建时就立即生成的,而是在实体类被持久化(即保存到数据库中)时才会生成。在上面的示例中,@Id注解用于标识实体类的主键ID,而@GeneratedValue注解用于指定ID的生成策略。在Java中自动生成ID注解可以使用JPA(Java Persistence API)提供的@GeneratedValue注解,该注解可以与@Id注解一起使用来自动生成实体类的主键ID。
2023-03-31 16:49:29
2138
原创 Docker部署Elasticsearch集群
本文介绍了Elasticsearch 7.7.1集群的Docker部署流程。首先通过docker pull/save/load命令完成镜像的获取和离线安装;其次配置3个节点的yml文件,设置集群名称、节点角色、网络参数等;然后调整系统参数并开放9300端口;接着使用docker run命令启动3个ES容器实例,挂载配置和数据卷;最后通过curl命令验证集群状态。文章还记录了部署过程中可能遇到的iptables链缺失和数据目录权限问题,并提供了相应的解决方案(重启docker服务、修改目录权限)。整个部署过程
2023-03-28 17:41:51
723
原创 RestTemplate发起POST请求 突然返回错误码500,但相同的请求再postman中是可以调用
今天一个之前一直跑的很正常的springboot项目,RestTemplate发起POST请求 突然一直返回错误码500,但相同的请求再postman中是可以调用的。
2023-03-02 16:18:06
3593
原创 解决Fastdfs状态为WAIT_SYNC或者OFFLINE
在状态为 WAIT_SYNC 时, 如果重启服务无法搞定,只能删除重新添加。正常状态应该是ACTIVE,1、从集群中删除节点。
2023-02-27 19:39:14
2408
原创 Java调用谷歌翻译
java调用谷歌翻译,调用频繁会被限制,可以通过springboot 自定义注解+拦截器+Redis实现ip限流,限制请求次数,防止恶意刷接口实践
2023-02-09 15:45:30
2215
原创 springboot 自定义注解+拦截器+Redis实现ip限流
自定义注解(具体频次可以根据具体使用场景调整)/**/*** 指定时间 单位:秒/*** 指定时间内API请求次数/**/*** 指定时间 单位:秒/*** 指定时间内API请求次数/**/*** 指定时间 单位:秒/*** 指定时间内API请求次数/**/*** 指定时间 单位:秒/*** 指定时间内API请求次数RequestInterceptor拦截器/*** RequestInterceptor拦截器.
2023-02-09 15:44:21
930
原创 Python 执行cmd命令行
Python 执行cmd命令行import subprocessdef runcmd(command, cwd, timeout=5, shell=True, cancer_warp=False): try: p = subprocess.Popen(command, bufsize=-1, shell=shell, stdout=subprocess.PIPE, stderr=subprocess.PIPE, enc
2022-04-21 15:44:16
1102
原创 python创建文件并写入json
python创建文件并写入jsonimport jsonimport osimport uuidPATH = 'D:/SecurityData'if not os.path.exists(PATH): os.makedirs(PATH)fw = open('{}/Security.json'.format(PATH), 'a+')fr = open('{}/Security.json'.format(PATH), 'r')fw.write(json.dumps({ 'na
2022-04-21 15:25:26
4136
原创 Python 获取WindowsEvtx日志文件并解析
Python 获取WindowsEvtx日志文件并解析demo如下(随便写的):import htmlfrom xml.dom import minidomimport Evtx.Evtx as evtxpath = r"C:\Windows\Sysnative\winevt\Logs\Security.evtx"with evtx.Evtx(path) as log: for record in log.records(): timestamp = record.t
2022-04-21 14:43:09
4792
3
原创 dump ended with error (get phsae) => Error: connect EHOSTUNREACH localhost:9200
摘要:在使用Docker容器执行elasticsearch-dump工具导入导出ElasticSearch数据时,出现"EHOSTUNREACH"连接错误。原命令因容器网络隔离无法访问宿主机localhost服务。解决方案是添加--net=host参数,使容器共享宿主机网络,成功执行命令格式为:docker run --net=host -it --rm -v /data:/data elasticsearch-dump elasticdump --input=http://localh
2022-04-14 15:22:54
4003
原创 System32、SysWOW64与SysNative文件夹
在广泛使用X86架构的CPU时代,用的系统、应用都是32位的(可能32位还算高的),随着科技的发展,AMD X64 和 64位的Windows/应用逐渐出现在我们的生活中。64位Windows凭借其支持大内存的特性,迅速占领市场。但早期几乎没什么64位的应用,如果在64位的操作系统上不兼容32位应用的话,可能会浪费了Windows生态近几十年的发展,所以在64位操作系统上兼容32位应用是必须要做的事。当你在64位的Windows上启动一个32位的应用的时候,一个32位的模拟器就会被叫起来执行这个32位的
2022-04-13 11:13:54
1607
原创 使用Docker安装Elasticsearch单节点以及群集
本文介绍了两种在Docker中部署Elasticsearch 7.7.1的方法:单节点模式和集群模式。单节点模式通过简单命令即可启动,而集群模式则需使用Docker Compose配置三节点集群,包含详细的YAML文件配置说明。文章还展示了使用Xshell查看集群状态和通过Elasticsearch-head插件连接集群的方法,并提供了Docker Compose安装和官方文档的参考链接。配置内容包括节点名称、内存锁定、Java参数设置等关键参数,为Elasticsearch容器化部署提供了完整解决方案。
2022-04-08 18:19:33
2866
原创 Docker Compose 安装
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。Docker Compose 安装安装 Docker Compose 可以通过下面命令自动下载适应版本的 Composesudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compos
2022-04-08 17:45:37
435
原创 火狐下载文件名乱码问题
火狐下载文件名乱码问题解决办法/** * 火狐中文乱码问题 * @param fileName * @param agent * @return * @throws IOException */ //import org.apache.commons.codec.binary.Base64; public static String encodeDownloadFilename(HttpServletRequest request,String fileName) throws IOE
2022-03-28 17:07:04
916
1
原创 OSError: Python library not found: libpython3.6.so.1.0, libpython3.6mu.so.1.0....
在CentOS中使用Pyinstaller把python项目编译成可执行文件。在python安装目录执行以下命令。把需要的.so复制到lib目录。
2022-03-02 13:33:03
2704
原创 IntelliJ IDEA 自动导包设置以及idea import导包顺序Java
自动导包(Auto Import)Auto Import 功能可以帮助我们自动删除无用的包(未被引用的),以及自动 Import 填充尚未导入的包。完全智能化地帮助我们在开发程序时,省略了导包的操作,大大优化了开发的效率。设置步骤:Settings→Editor→General→Auto Import勾选:Add unambiguous imports on the fly:快速添加明确的导入。Optimize imports on the fly:快速优化导入,优化的意思即自动帮助删除无用的导入
2021-12-03 16:02:53
12432
1
原创 idea日志插件 grep console 如何自定义使用-图文教程
由于Intellij idea不支持显示ascii颜色,grep-console插件能很好的解决这个问题。1.2.3.
2021-05-03 00:44:24
3630
2
原创 Maven 下载和配置说明
Maven 下载和配置说明1.下载maven访问官网下载:http://maven.apache.org/download.cgi要求jdk1.7以上,如果需要历史版本,在最下面最后一个标出的红框连接进去下载(https://archive.apache.org/dist/maven/maven-3/)2.安装操作步骤①检查JAVA_HOME环境变量命令行窗口:echo %JAVA_HOME%\$JAVA_HOME,或者看系统环境变量配置②解压Maven的核心程序将a..
2021-04-29 12:19:31
197
Java面试汇总2021-01版.docx
2021-06-28
201908104__web前端 期末大作业网站.zip
2020-06-26
Java_面向对象_小项目_day16_QuickHit.rar
2021-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅