Jerry_Pan1990的博客

私信 关注
Jerry_Pan1990
码龄5年
  • 38,924
    被访问量
  • 35
    原创文章
  • 137,125
    作者排名
  • 12
    粉丝数量
  • 于 2016-04-17 加入CSDN
获得成就
  • 获得6次点赞
  • 内容获得12次评论
  • 获得31次收藏
荣誉勋章
兴趣领域
  • #数据库管理
    #DBA#数据库开发#数据仓库#数据库架构
TA的专栏
  • 计算机基础
    1篇
  • docker
    3篇
  • mysql集群
    5篇
  • 后端开发
    6篇
  • mysql优化
    6篇
  • mysql数据库优化运维
    6篇
  • 随笔
    5篇
  • k8s
    13篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

重新学习基础: 用C++写了一遍快速排序

/* * 316-quicksort.cpp * * Created on: 2020年5月28日 * Author: panzhengji */#include<string>#include<iostream>using std::cout;using std::endl;void swap(int p_int[], int first , int end){ int tmp = p_int[end]; p_int[end] = p.
原创
70阅读
0评论
0点赞
发布博客于 10 月前

关于Git版本回退

最近公司使用了git,之前都使用的是svn,git玩得不是很溜,现在重新学习一下。 今天主要探讨的是回退,因为最近我们分支上有人做了回退操作,我这边pull拉取,发现出了问题,部分文件没有跟着远端版本回退,纳闷了很久,最后通过 执行 git reset <回退版本> 后,重新 commit 解决了。 参考了这些资料,写得还是蛮不错的:先看原理: 三种 rese...
原创
96阅读
1评论
0点赞
发布博客于 1 年前

更新linux内核及其组件

Docker对Linux内核版本的最低要求是3.10。目前Linux内核已经发布到 5.4,为了更好使用docker和k8s,需要对公司相关CentOS 7内核进行升级。下载公钥# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装elrepo reporpm -Uvh http://www.elrepo.o...
转载
189阅读
1评论
0点赞
发布博客于 1 年前

K8s Namespace无法删除解决办法、思路、原理

情况:Kubectl delete ns XXXX 后, namespace 一直处于 Terminating 状态。使用:kubectl delete ns monitoring --grace-period=0 –force后,也无法删除。原因分析:删除时,报错:warning: Immediate deletion does not wait for con...
原创
1776阅读
0评论
0点赞
发布博客于 2 年前

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)出现问题原因:有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socketmysql.sock 文件有什么用:mysq...
转载
142阅读
0评论
0点赞
发布博客于 2 年前

redis连接偶尔会重置(Mark一个问题,还未彻底解决)

客户端在连接redis推送一次数据成功后,第二次使用相同tcp端口推送时,会发送RST重置。redis中有参数可以设置,避免这种现象吗?第一次正常推送数据:第二次推送数据reset:个人推测是因为 redis 的超时时间与服务器的超时时间不一致导致:服务器tcp超时时间,通过该命令查看为 60 ssysctl -a | grep net.ipv4.tcp_fin_t...
原创
395阅读
0评论
0点赞
发布博客于 2 年前

生产环境k8s偶发超时问题排查及解决

前言: 凡是有明确报错的问题,都是能很快解决的,真正难以解决和排查的,是偶发且笼统报错的问题。 这里记录整个解决的过程,期间有走过弯路,有思维局限,但庆幸最终找到了原因,正常把我们系统上线到 k8s 平台了。问题表现: 生产某套应用访问时,偶尔会报 timed out 。相同的配置在 开发、测试、预生产都能正常运行。排查思路: 1、 首先,因为这个问题是偶发性的...
原创
2559阅读
0评论
0点赞
发布博客于 2 年前

封装一个带有tcpdump工具的镜像,在容器中使用tcp抓包

之前的一篇文章:https://blog.csdn.net/Jerry_Pan1990/article/details/102940349也写过这个功能,但是当时因为刚刚接触,因此走了一点弯路,所以在这里再水一篇。之前的文章中,使用的是源码包进行安装,所以两种安装方式在这里都进行一下介绍:方法一(推荐): 使用 apt-get 进行安装(我们的tomcat、nginx等基础镜像都是基于u...
原创
440阅读
2评论
0点赞
发布博客于 2 年前

修复由于docker、k8s的引擎不一致导致的报错: 调整为cgroups

k8s版本:1.15docker版本:18.09.7报错信息: W0701 15:05:59.697391 9931 watcher.go:87] Error while processing event ("/sys/fs/cgroup/devices/libcontainer_34389_systemd_test_default.slice": 0x40000100 == ...
原创
1551阅读
0评论
0点赞
发布博客于 2 年前

K8s节点重置、加入集群

由于物理机迁移、网络环境发生变更,可能导致集群结构的破坏。1、 确认集群中是否还存在该节点:Kubectl get nodes2、 确认网络环境是否通畅:可以通过 ping 该物理机IP3、 确认物理机是否正常:是否可以登录登录后查看kubelet是否正常启动: systemctl status kubelet查看内存情况: free –h查看磁盘情况: ...
原创
1147阅读
0评论
0点赞
发布博客于 2 年前

k8s环境物理机切换DNS后不能立即生效问题解决

今天公司DNS服务器进行地址切换,出现物理机可以解析域名,但是k8s容器内部无法解析相应域名,应用报错: 由于k8s内部的域名解析都是通过coredns进行的,所以使用 describe查看了一下 coredns,发现coredns通过 configmap 挂载了物理机上的 /etc/resolv.conf 解决办法: 重启k8s的 coredns:kube...
原创
203阅读
0评论
0点赞
发布博客于 2 年前

kubernetes之network policy

Network policy:设置pod进出网络的策略,k8s本身并不支持,主要靠以下网络插件来支持。calico Romana Weavenetwork policy 策略模型apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: test-network-policy namespace:...
转载
104阅读
2评论
0点赞
发布博客于 2 年前

排查ingress 404报错的方法--附:在容器中使用tcpdump抓包

出现这个问题,一般是由于路由不通导致的,需要进行抓包排查。首先要解决的问题是,如何在 ingress-controller 容器中安装抓包工具。1、由于 ingress-controller 的mandotory.yaml 中安全选项使用的是 33 用户,安装不了程序,因此咱们需要先修改spec.containers.securityContext下的配置securit...
原创
1344阅读
0评论
0点赞
发布博客于 2 年前

K8s-Ingress高可用IP透传方案

简介: k8s暴露服务的方式有以下几种:Proxy + clusterIP NodePort LoadBalancer IngressProxy + ClusterIP自定义代理 + 集群内存IP有一些场景下,你得使用 Kubernetes 的 proxy 模式来访问你的服务:• 由于某些原因,你需要调试你的服务,或者需要直接通过笔记本电脑去访问...
原创
1596阅读
0评论
0点赞
发布博客于 2 年前

获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)

分析过程这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的。 一般朋友,都会看到如下通用获取IP地址方法。function getIP() {if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];} elseif (isset($...
转载
111阅读
1评论
0点赞
发布博客于 2 年前

解决eureka高可用集群在k8s环境无法正常启动的问题

昨天遇到一个问题,原本在非 k8s 环境下可以运行的 eureka 集群,上到 k8s 环境后,就无法运行。 这里记录一下解决问题的过程: kubectl logs -f XXX -n XXX 看日志后,报错:com.netflix.discovery.shared.transport.TransportException: Cannot execute re...
原创
502阅读
1评论
0点赞
发布博客于 2 年前

解决 k8s 限制内存后 还出现 OOM 错误的问题:资源整合

如果应用所使用的 java 版本在 8及8以下, JVM 在没有认为设定 Xmx Xms 时, 会根据 宿主机的内存进行 JVM 的参数设置,这样就会导致很大的问题。比如,如果你的宿主机内存在 8G, 你的容器设置为 1G,那么 JVM 根据你的宿主机内存,给到你应用 2G左右的堆内存,此时 JVM 会按照 2G 进行 GC,此时会出现 OOM ,而导致容器被 kill 的情况。这一...
原创
4520阅读
1评论
0点赞
发布博客于 2 年前

k8s集群服务器宕机重启后,部分应用、监控不可用处理方法

服务器宕机重启后,可能导致部分服务及监控不可用:kubectl top nodes 可以查看kubectl top pod -n XXX 查看具体应用时,会发下部分pod不在metrics-server统计范围下另外还会出现部分内部应用相互不可调用的情况。推测是k8s网络问题导致,可以通过重置集群的方法解决:1 在重启的集群执行: kubeadm reset...
原创
970阅读
0评论
0点赞
发布博客于 2 年前

windows10-pro下使用Minikube一键安装k8s验证环境

首先感谢大神把 Minikube 中国化,之前 google的版本亲测安装过,不太好使,这个安装步骤是基于大神们的成果写的。minikube可以在本机windows上一键安装k8s集群环境,方便大家学习、测试k8s文件,安装教程:Hyper-v安装教程https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-window...
原创
184阅读
1评论
0点赞
发布博客于 2 年前

mysql 查询脚本导出

一个同事让我帮写的SQL,不一定优质,但应该能用。SELECT t1.TABLE_NAME, t1.TABLE_COMMENT, CONCAT( 'select ', GROUP_CONCAT( CONCAT( t2.COLUMN_NAME, ...
原创
170阅读
0评论
0点赞
发布博客于 2 年前

记录k8s使用 configmap 挂载配置文件的一个坑

在使用 configmap 将tomcat 配置文件挂载到容器内部时,出现这么一个情况: kubectl apply -f xxx.yaml 提示: pod 已经创建,但实际使用:kubectl get pod -n XXXX 时并没有这个容器的提示,连容器创建失败的提示都没有。 造成这个问题的原因,以后注意了,大部分是因为yaml 文件写的有问题。 这次的问题比较...
原创
3747阅读
0评论
1点赞
发布博客于 2 年前

AES加密工具的实现及其基础原理

先贴代码:重要的参数都有注释,自己摸索的,有不对的地方大家指正import java.security.Key;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESedeKeySpec;im...
原创
991阅读
0评论
2点赞
发布博客于 2 年前

关于数据库主键的随笔

随笔 SnowFlake的使用体验: 本次吸取上个项目经验,整个项目的数据库id都采用了 snowFlake,先说一下体验吧,snowFlake的确还是好用的,特别是在一些数据库操作上很方便,不用考虑很多,直接copy就完事了,出了问题修复上也比较方便:体现在如果缺少数据,你从主键上直接搜索就能很快定位缺失的数据,当然这种情况基本都没有出现。如果使用的是自增主键,要定位缺失或...
原创
69阅读
0评论
1点赞
发布博客于 2 年前

多表关联group by优化:去除Using temporary; Using filesort

最近因为项目很赶,很久没写博客了,今天算是已经把项目进度超前完成了,写一个今天解决的SQL优化问题。 这次优化花了半小时,但很值得,之前作为一个单纯后端,很少关注SQL效率,但是自从上个项目当上临时DBA后,或多或少的都会关注自己书写的SQL执行计划。 原始第一映像写出的脚本: EXPLAINSELECT service_id,service_name,cou...
原创
5392阅读
1评论
2点赞
发布博客于 2 年前

如何处理InterruptException

  应该算是初级问题吧,但之前的确不知道,解决这个问题的契机,还是因为最近我集成了 Sonar 代码质量管理工具,针对 Tread.sleep() 方法抛出的 InterruptException ,工具要求不能只进行简单的捕获及日志记录。  以此为契机,我了解了 InterruptException 的处理方法,及 多线程 中断的机制。  之前我一直认为 线程A 调用 线程B 的 int...
原创
292阅读
0评论
0点赞
发布博客于 2 年前

讨论mysql两种树状结构递归查询的优劣

由于 mysql 本身并没有递归方法,并不像oracle那么方便,所以出现这个需求的时候,很是头疼了一久。 网上查到的有两种办法:一、 使用 @变量 进行迭代二、 使用 存储过程,进行遍历。 //******************************************************************************************...
原创
592阅读
1评论
0点赞
发布博客于 3 年前

萌新理解区块链

  区块链很火,但是之前其实一直有些云里雾里,今天抽时间,认真了解了一下其中的原理。   这个是今天学习的教材,从CSDN首页上摘取的,国外大神写的,认真读完很有收获。  https://mp.weixin.qq.com/s?__biz=MzU2MTE1NDk2Mg==&amp;mid=2247485990&amp;idx=1&amp;sn=d99f22c3b8e6f41b8d06cf9f...
原创
137阅读
0评论
0点赞
发布博客于 3 年前

全量备份数据库shell脚本、sftp开启免密连接、使用sftp上传至固定服务器

目标: 将 XX.XX.X.165、 XX.XX.X.164 的数据库全量备份打包,并上传到 XX.XX.X.44            想备指定库的同学可以放开部分注释掉的变量 以 root 用户登录 XX.XX.X.165、XX.XX.X.164操作:使用root权限创建目录:mkdir -p /app/backup/ 拷贝脚本auto_mysql_back.sh到 ...
原创
457阅读
0评论
0点赞
发布博客于 3 年前

初次尝试数据库运维: 一个教训及基于binlog的数据恢复。

  首先记录一个教训吧,任何数据库的操作,请三思而行,要做到就算领导同事把你催得欲生欲死,你也要想清楚再操作,否则你一个简单的操作,就有可能让你通宵。  这次就是一个教训: 我们本身的数据库集群是 双主互相切换的,今早突然有开发反馈: 数据库无法写入了,生产上已经无法进行出单操作。 哎呀妈呀,我本人之前就是个开发,搭建数据库、数据库运维全靠这三个月业务时间自修的,当时慌得一批,第一个想法就是:...
原创
132阅读
0评论
0点赞
发布博客于 3 年前

quartz 组件是否适合数据库集群

    这个问题困扰了我很久, 从开发的时候就发现这个组件在我们项目中是个风险点。    虽然我本身不是负责该模块开发的,但是基于一颗好奇心,我找了一份网上基础课程,了解了这个组件的基本原理。    不得不庆幸这个决定,因为上线当天,以及上线后运维期的重大问题,都和这个组件有关,而这些问题都被我暂时处理了。    这个是我的学习笔记:http://note.youdao.com/not...
原创
299阅读
0评论
0点赞
发布博客于 3 年前

mysql集群与应用集成中遇到的问题(持续更新)

这个问题,得在后续运行中持续验证了,踩坑后会来这里补充。 坑一: 系统集成测试中发现:有个同学的代码,单机数据库时完全没有问题,使用集群后,会报空指针异常。原因: 他的代码中,在一段逻辑处理中,先将一段数据插入后,从数据库查出。            数据库同步我没有开完全同步,写入时在 A 节点、读取在B 节点,此时,B数据库还未同步。            因此报空指针...
原创
301阅读
0评论
0点赞
发布博客于 3 年前

数据库配置性能验证

有这么一篇,主要是因为上线时需要有数据库压测报告,我又顶上了,嗯嗯。  只敢说是性能验证,因为我知道,jmeter我作为一个临时抱佛脚的人,很多牛B的功能没有用到。这里主要是记录一下,通过 jmeter 的压力测试,我对一些参数对数据库性能的影响,有了一个直观的认识。有不正确的地方,路过的大神指正一下。 由于我本机的 java 版本用的 7 ,所以jmeter版本我选择了 3....
原创
117阅读
0评论
0点赞
发布博客于 3 年前

Mycat作为中间件搭建Mysql主从复制---从选型到搭建的想法和记录

想了解本人简陋搭建过程的同学,可以忽略下面这一段:**********************************************************************************************************************************************首先,本次搭建的数据库架构没有很复杂,选型了 Mycat ...
原创
564阅读
0评论
0点赞
发布博客于 3 年前

Mysql单库搭建

Mysql 版本: 5.6服务器权限 root (1)解压命令: tar –zxvf mysql-5.7.16-linux-glibc2.12-x86_64.tar.gz (2)将解压后的文件放到指定目录下,并重命名:mv ./mysql-5.7.16-linux-glibc2.12-x86_64 /app/mysql (3) 创建mysql用户和用户组gr...
原创
137阅读
0评论
0点赞
发布博客于 3 年前

记录实际项目中数据库搭建经历

记录一次完整的数据库搭建经历,本人实际干开发的,数据库方面新人一枚,这次算是逼上梁山的,因为公司整体架构都比较陈旧,周围也没有可以讨论的同事,任务砸下来,只能自己开发之余,利用业余时间,从零开始摸索,因此有不对之处多多包涵,也希望路过的大神指导一下。 Mycat作为中间件搭建Mysql主从复制---从选型到搭建的想法和记录数据库性能验证系统集成中遇到的问题(持续更新) ...
原创
250阅读
0评论
0点赞
发布博客于 3 年前

记录实际项目中数据库搭建经历

记录一次完整的数据库搭建经历,本人实际干开发的,数据库方面新人一枚,这次算是逼上梁山的,因为公司整体架构都比较陈旧,周围也没有可以讨论的同事,任务砸下来,只能自己开发之余,利用业余时间,从零开始摸索,因此有不对之处多多包涵,也希望路过的大神指导一下。 Mycat作为中间件搭建Mysql主从复制---从选型到搭建的想法和记录数据库性能验证系统集成中遇到的问题(持续更新) ...
原创
250阅读
0评论
0点赞
发布博客于 3 年前

The Auto-extending innodb_system data file './ibdata1' is of a different size 6400 pages (rounded do

Mark一个解决的问题:ibadat1 是 共享表空间文件,在使用数据库时,会自动增大包含:Data dictionary   Double write buffer  Insert buffer Rollback segments UNDO space Foreign key constraint system tables(前几个东东和innodb引擎写数据、回滚等...
原创
2274阅读
0评论
0点赞
发布博客于 3 年前

帮同事优化一个迭代SQL,相同SQL结果集不同

SELECT   deptCode,  deptCName,  upperDeptCode FROM  (SELECT     *   FROM    sc_pubcompany   WHERE upperDeptCode &gt; 0   ORDER BY upperDeptCode,    deptCode) realname_sorted,  ...
原创
129阅读
0评论
0点赞
发布博客于 3 年前

分布式应用序列号生成

引用: https://blog.csdn.net/weixin_39433171/article/details/80672312工程中先后考虑了几种业务号生成的方式,最终采用 snowFlake 算法:以下是自己批注的一些东东,mark 一下:相对于 引用的原文, 这里将 SnowFlake 以单例的形式, 注入到 Spring 容器管理。单例 和 加锁,私以为,只有单例 和 ...
翻译
565阅读
0评论
0点赞
发布博客于 3 年前

mysql小集群

初学者的一些笔记,有不妥的地方,请多多包涵。本人在虚拟机上,用 docker 安装了 四台 mysql : **********************************************************************************************************1、 配置各个 msyql 服务的 my.cnf :两台主机:除常规配置外:ma...
原创
147阅读
0评论
0点赞
发布博客于 3 年前

docker安装mysql5.7 并运行、保证容器及外部的通信

docker 初学者的一些随笔:1、下载镜像:sudo docker pull mysql:5.7*********************************************************************************************************************这一步,就是 先虚拟建一个 mysql ,将其中的 mysql 原生...
原创
2220阅读
0评论
0点赞
发布博客于 3 年前