- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 centos7.8升级openssh到8.4
#!/bin/bashsystemctl stop firewalld.servicesetenforce 0sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/configyum -y install gcc make perl zlib zlib-devel pam pam-devel --nogpgchecksystemctl stop sshdcp -r /etc/ssh /etc/ssh.oldrpm -e --node
2022-05-17 16:36:18
347
原创 SSH登录主机之后无法执行命令,需要Ctrl+C才能继续执行任务
问题分析1:查看主机的各项指标,cpu,内存,磁盘,io,均正常2:主机刚创建的时候没有此问题,可能是修改了登陆相关的文件导致的3:查看命令执行历史,发现有人修改了/etc/profile4:打开/etc/profile发现最后一行有一个source /etc/profile5:启动过程中会source /etc/profile,在/etc/profile里又加一个souce /etc/profile,形成了一个无限循环...
2021-05-12 10:12:09
2466
2
原创 记一次线上Java进程假死问题分析
背景上午11点左右,监控系统突然发出来一个告警,分布式数据库的某个代理节点(Java编写)连接失败率100%,每次都是超时,赶紧登上后台去查看问题分析一、查看系统指标top命令查看一些基础指标,cpu使用率不高,内存一直都是80%左右,io,网络都没问题top -Hp Java进程的pid,查看进程内的情况,1786个sleep状态的线程赶紧jstack了一份线程信息,发现很多线程都阻塞在了ArrayBlockingQueue的put方法上紧接着dump一份内存映像,27个G,心累,还得找台
2021-03-19 13:20:31
752
原创 Redis学习笔记
Redis常用命令client list:查看已连接的客户端列表,keys *:查看redis里所有的key,info:查看redis服务的信息数据类型与应用场景String:单值缓存,对象缓存(value为json),分布式锁(setnx product:1001 true ex 10 nx),计数器(incr article:readcount:{文章id}),分布式session,分布式全局序列号Hash:对象缓存,购物车(用户id为key,商品ID为field,商品数量为value)Li
2021-02-05 13:23:09
220
1
原创 记一次请求无响应的抓包分析过程
请求链路问题现象相同的请求参数,第一次请求没有返回,第二次请求可以正常返回,查看SLB日志有报错invalid chunked response,接着抓包开始分析一、先做一个两次请求的对比,第一次请求一共传输了10个包,第二次请求传输了13个包二、对比两次请求的TCP流,总共有三个不同点1.第一次请求有set-cookie,第二次请求没有,最初怀疑是cookie格式的问题,百度之后排除,cookie的value里边除了|也没有其他特殊的字符。2.第一次请求是SLB先关闭的连接,第二次是EC
2021-01-18 11:07:03
1820
原创 通过调整mysql-server的参数提升GROUP BY,ORDER BY类型的SQL的RT
SQL样例SELECT a, b, c, d, e, f, g, h FROM TableA WHERE b in ('AT105873A') AND type = '2' GROUP BY if(d is null, e, d) ORDER BY h ASC, g ASC老规矩explain sql截图中可以看出来,使用到了文件排序和临时表,在sql没办法优化的情况下该怎么提升响应时间呢Trace sql的执行过程SET OPTIMIZER_TRACE="enabled=on",END_MA
2021-01-17 17:01:23
209
原创 某云上分布式数据库SQL优化案例
SQL样例其中i_uid是A表的水平拆分键,accesion是B表的水平拆分键select * from A a where a.i_uid in (select b.union_an from B b where b.accesion = ?)定位步骤以下操作均发生在物理mysql服务器的代理节点上(例如mycat)第一步explain sqlexplain select * from A a where a.i_uid in (select b.union_an from B b wher
2021-01-17 15:57:06
211
原创 mysql查看占用内存或者CPU高的SQL
获取mysql进程idps -ef | grep -i mysql实时查看mysql进程中占用CPU,内存最多的操作系统线程IDtop -p 2341 -H根据操作系统线程ID,查看mysql数据库中对应的线程IDselect thread_id,name ,PROCESSLIST_ID,THREAD_OS_ID from threads where thread_os_id = 2341 ;根据mysql数据库的线程ID获取sqlselect sql_text from perform
2020-12-14 16:55:12
5391
原创 使用shell加python实现定时发送系统的RPS
先过滤NGINX日志#!/bin/bash#echo -e "\033[31mstart calculate total requests in two hours:\033[0m\033[32m $1\033[0m, \033[32m$2\033[0m"months=("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec")time1=$(date +"%d")/${months[$(date +"%-m")-
2020-12-04 15:29:15
359
原创 阿里云语音服务配合alertmanager实现电话告警
整体思想使用python封装一下阿里云的语音服务,暴露一个restapi地址,配置到alertmanager的receiver url上,脚本接收到alertmanager发过来的消息之后,获取告警的信息,再将告警信息转化成语音服务API的入参脚本# -*- coding: utf-8 -*-import urllib, urllib2, sysimport loggingimport jsonfrom logging.handlers import TimedRotatingFileHan
2020-12-04 15:21:19
2062
原创 Docker安装Alertmanager
下载镜像docker pull quay.io/prometheus/alertmanagerdocker pull timonwong/prometheus-webhook-dingtalk启动钉钉webhookdocker run -d \ --restart always \ -p 8060:8060 \ timonwong/prometheus-webhook-dingtalk \ --ding.profile="healthcode=https://oapi.dingtalk.c
2020-12-04 11:48:21
2765
原创 Cetus开机自启动
#!/bin/bash# chkconfig: - 30 21# description: Cetus service.# Source Function Library. /etc/init.d/functionsSTARTTIMEOUT=12STOPTIMEOUT=60# Cetus SettingsCETUS_HOME=/usr/local/cetusCETUS_CONF=${CETUS_HOME}/conf/proxy.confCETUS_SBIN=${CETUS_HOME}
2020-12-04 11:47:44
267
原创 MHA+Cetus+Mysql搭建读写分离的高可用集群
安装MySQL卸载#检查rpm -qa|grep mariadb#卸载rpm -e --nodeps mariadb-libs#复查rpm -qa|grep mariadb安装Yum Repositorywget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpmyum -y install mysql57-community-release-el7-8.noarch.rpmyum clean all
2020-12-02 21:35:37
698
2
原创 Centos安装之后的初始化工作列表
CentOS虚拟机初始化#配置固定IP,不换网络IP就不变cd /etc/sysconfig/network-scriptsvim ifcfg-eth0ONBOOT=no -> ONBOOT=yes修改yum源为阿里yum install wgetmv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget -O /etc/yum.repos.d/CentOS-Base.repo h
2020-11-23 10:25:17
217
原创 为什么@LoadBalanced可以让RestTemplate具有负载均衡的能力
核心类LoadBalancerAutoConfigurationLoadBalancerAutoConfiguration主要是给容器中所有的加了@LoadBalanced注解的RestTemplate注入一个LoadBalancerInterceptor,RestTemplate的负载均衡功能就是LoadBalancerInterceptor实现的,/* * Copyright 2012...
2020-03-07 23:09:54
417
原创 简单的OOM异常分析
示例程序@RestControllerpublic class TestController { @RequestMapping("/oom") public void OOM(){ ArrayList<User> list=new ArrayList<User>(); int i=0; while(tr...
2020-01-08 14:27:01
224
原创 Spring Cloud Stream RabbitMQ普通实现+延时消息+死信队列
配置和代码示例参考文档Spring Cloud Stream RabbitMQ Binder Reference Guide依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-ra...
2020-01-02 12:00:24
2507
1
原创 CXF与Spring构建web service
目录pom.xmlweb.xmlapplicationContext.xmlclassTestService.javaTestServiceImpl.javaStructureSoapUI测试Create New SOAP ProjectName The Project And Enter WSDL Addresspom.xml&lt;project xmlns="http://maven.a...
2018-10-09 19:11:45
215
原创 Oracle数据库编程获取异常订单
declare –定义变量时要声明类型 activity_defid varchar2(256); –如果想得到一个结果集,在oracle中要使用游标,语法如下 cursor procInstId is select * from besorder.om_order where /business_code=’CreateSubscriber’ and/ access_ch...
2018-08-09 17:54:42
1377
转载 Oracle查看锁表以及解锁
以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$process ;SELECT * FROM v$locked_object;SELECT * FROM all_objects;SELECT * FROM v$session_wait;...
2018-08-09 17:53:34
208
转载 ORACLE异常处理及函数
有三种类型的异常错误 :预定义 ( Predefined )错误ORACLE预定义的异常情况大约有24个。对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发。非预定义 ( Predefined )错误即其他标准的ORACLE错误。对这种异常情况的处理,需要用户在程序中定义,然后由ORACLE自动将其引发。用户定义(User_define) 错误程...
2018-08-09 17:50:05
529
转载 Ubuntu安装redis服务器
原文地址http://blog.fens.me/linux-redis-install/前言Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;做为时时监控信号处理也非常不错。环境原文:Ubuntu 12.04 本人:经测试Ubuntu 16.04仍适用安装Redis服...
2018-08-09 17:36:15
323
原创 Dubbo集成Zookeeper
一:zookeeper安装 1:检查系统是否安装JDK ,执行java -version,以及环境变量设置 2:解压Zookeeper安装包,修改zoo_sample.cfg为zoo.cfg,具体zoo.cfg里的配置可以百度或者查阅官方文档 3:Linux执行 ./zkServer.sh start启动Zookeeper,./zkServer.sh status查看状态,Windows以管...
2018-08-09 17:29:36
236
原创 Maven 工程结构与常用命令
一:工程结构.settings文件夹src main java 存放源代码 resources 存放配置文件 test java resources.classpath文件.project文件pom.xml文件二:常用命令mvn -v 查看maven版本号mvn compile 编译项目生成target目录mv...
2018-08-09 04:01:56
385
原创 Maven编译报错集锦
报错一:no compiler is provided in this environment .perhaps you are running on a jre rather than a jdk 这个报错主要是因为项目依赖的JRE System Library 不是jdk 可以通过查看和修改项目根目录的.classpath文件解决报错二:一个大的模块下包含三个小的模块,结构如下...
2018-08-09 03:27:48
553
原创 Linux虚拟机联网设置
Linux虚拟机联网设置首先linux虚拟机的ip应当与本机以太网适配器的ip在同一IP段,否则无法ping通(xshell就无法连接),之后再讲这样做的原因设置虚拟机网络适配器连接方式为NAT模式连接,然后在编辑>虚拟网络编辑器中选择NAT模式的虚拟网卡,点击更改设置,修改网关ip与linux虚拟机中的GATEWAY配置(/etc/sysconfig/network-scripts/ifcfg
2017-09-20 01:12:08
669
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人