记录一次递归查询导致的 java.lang.StackOverflowError: null 由于作者使用递归统计信息,刚开始这个接口运行得正常,但是上线运行一段时间后接口就出现了,如图的栈溢出错误。-Xss 来配置栈的大小。目前作者没有选择个方式。
我本地是正常的,线上就有问题?为啥?玄学? 笔者作为研发,细细数来已经搬了多年程序的砖了,也带了不少新人,发现好多新人都有如题的提问。这里珍重申明我并不是歧视新人哈,只是想根据老程序猿搬砖的经验,分享一下问题排查经验。相同的问题还有很多,比如程序隔一段时间程序特别卡,比如运行一段时间就报错宕机,又比如读取的配置怎么和自己配置的不一致,很多时候本地没有问题,一上测试环境就报错等等如此玄学的问题这么多年是屡见不鲜。发现问题,第一时间看日志 ,通过日志反向排查问题原因 ,在过程中结合你使用的框架/组件的机制去排查问题会更容易找到问题。
Hystrix Readed time out,看我这一篇就让你彻底解决! com.netflix.zuul.exception.ZuulException: Hystrix Readed time out
天坑 flayway 6.4.4 升级到9.0.7 java.lang.NoSuchMethodError: FluentConfiguration ignoreMissingMigrations 在作者升级flayway的时候出现了如题的问题,问题的原因就是spring boot 版本和flayway 不兼容。1. 在application 中把如图的FlywayAutoConfiguration.class 自动配置取消掉。2. 手动注入FlaywayConfiguration FluentConfiguration 像如下, 不要全抄。
终极方案,清理 docker 占用磁盘过大问题, 亲测有效! 终极方案,清理 docker 占用磁盘过大问题, 亲测有效!Docker does not free up disk space after container, volume and image removal
深入讲解Maven配置 由于maven 使用上手很容易所以很多时候可以囫囵吞枣能够使用就可以了,由于作者最近在做的持续集成的代码扫描的时候,发现私有云里面大型工程maven依赖,如果没有弄清楚里面的配置复杂的项目很难在私有环境里面正常的编译过。下面作者根据自己的经验谈谈常用的配置的作用到底是什么。首先说明maven配置都是那些配置1. pom.xml配置 pom.xml 配置主要分为两类,一类是用于配置自己的实际依赖, 二类仅仅用于声明一些版本和仓库便于版本管理和发布。...
Harbor磁盘占用过大,清理手把手教学 首先说明:harbor 删除实际是软删除,并没有实际删除物理资源。这是harbor磁盘占用越来越大的主要原因。找到harbor安装位置(实例时docker-compose 安装)找到harbor的位置通过配置文件确定挂载的目录以及镜像,确认磁盘的实际使用量。找到harbor挂载的磁盘目录的位置通过上图可以看出挂载目录是和docker-compose在同一个目录,查找到这个目录可以验证执行垃圾回收操作后实际删除了多少垃圾。执行清理命令docker run -it --name gc
fabric8(kubernetes java client) 自定义开发实战 前言本文章主要针对需要对fabric8 java client 进行修改的读者,对fabric8进行自定义开发,调用SDK对k8s CRD(CustomResourceDefinition) 资源进行操作。本文章根据作者自己的实际开发内容为主线理清开发思路,并不会特别全面的去讲解所有知识点,需要详细了解还需要自行查阅官网,同时我也会在相应的内容里面贴出一些参考地址。如果存在说错的地方,还请指正!!github 下载相关代码以及工程简单解析首先我们需要从fabric8 中去下载源代码.
kubernetes Killed process 9352 (kubelet) total-vm 2823264kB anon-rss 58844kB file-rss 460 先给结论: 这两个配置的锅(“不要看到kube-reserved就是保留资源的意思,这个配置是给kube 系统组件保留这么多资源,自己不能超过 别人也不能使用”)--kube-reserved=cpu=200m,memory=1024Mi,ephemeral-storage=1Gi \ --kube-reserved-cgroup=/system.slice/kubelet.service \解决方案: 调大这个配置!!!问题原因概述:突然发现k8s重启风暴,多数pod 开始te...
FailedCreate statefulset-controller create Pod in StatefulSet is forbidden must specify limits.cpu Warning FailedCreate 6s (x13 over 26s) statefulset-controller create Pod nacos-0 in StatefulSet nacos failed error: pods “nacos-0” is forbidden: failed quota: tiger: must specify limits.cpu,limits.memory,requests.cpu,requests.memory问题解决如上面错误信息所示:分区禁止创建po
k8s 集群部署(1.14.1) 基础准备1. centos7 linux 操作系统2. docker 1.133. 关闭防火墙sudo systemctl stop firewalld.servicesudo systemctl disable firewalld.servicesudo firewall-cmd --state4. 禁用SELINUXsudo setenforce 0...
ngfileupload 上传文件对家java restful 接口的:required ‘file’ not present 问题解决 首先,贴上错误前端错误代码: 上传文件 <input data-ng-disabled="false" class="form-control" type="file" name="file" ngf-select="uploadFiles($file)"
spring boot mvc 的一些坑 注:pom.xml 这里就略了,spring boot 默认推荐 解析引擎是 thymeleaf ,我是用的比较火的freemaker1.目录结构解释spring boot 如果你不想额外在配置指定目录的话,你可能就需要如图所示的目录结构,其中mybatis 是mybatis 其配置的mapper.xml 文件,其中 templates 、public、static 这3个目录都是
kubernetes helm API 客户端文件生成和远程调用 1.什么是helm?首先说说什么是helm,引用helm原话“The Kubernetes Package Manager”—— k8s的包管理器。2.为何要用helm?or 用helm有什么好处?用过k8s的人都知道,k8s的replicationcontroller、service、pod 这些的创建都需要一个配置的yaml文件,而如果你的环境比较繁琐时你会有很多yaml,如果你想
openssl 生成证书 server.key server.crt x509证书一般会用到三类文,key,csr,crt。Key 是私用密钥,通常是rsa算法。Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。 1.key的生成 openssl genrsa -des3 -out
记录一下自己使用sed遇到的问题 由于写shell脚本使用sed替换某些配置文件,所以使用到了sed命令:(下面是整行替换,只是头部一样所以看起来像替换‘=’后面的值) sed -i "s/^mir.sdk.jdbc.url=.*/mir.sdk.jdbc.url=$MYSQL_CONNECTION_URL/g" /usr/local/tomcat/webapps/mir-pack/WEB-INF/mir-pack.conf
centos7安装指定版本docker且使用本地docker 仓库 由于centos6.x 的libc.so等 动态库的版本都比较低,在装docker时依赖会有问题而且如果挨个换libc等依赖库是吃力不讨好(有兴趣的可以试试)。所以建议使用centos7。1、安装之前的准备:一个centos7.0的虚拟机或者物理机、两个包docker安装包:docker-engine-1.11.2-1.el7.centos.x86_64.rpm、docker-engine-s