运维
WFkwYu
Devops技术顾问,欢迎大家一起交流分享!
展开
-
ansible启动java应用
ansible启动java应用原创 2023-02-08 09:26:07 · 512 阅读 · 0 评论 -
ansible基础及常见知识点
ansible基础及常见知识点原创 2022-12-17 12:19:24 · 1856 阅读 · 0 评论 -
k8s服务回滚
k8s服务回滚原创 2022-10-19 18:02:04 · 1606 阅读 · 0 评论 -
jenkins跨K8S集群实现jenkins slave动态构建
jenkins跨K8S集群实现jenkins slave动态构建原创 2022-10-19 14:22:36 · 1238 阅读 · 1 评论 -
docker无法登录harbor仓库,443: connect: connection refused
docker无法登录harbor仓库,443: connect: connection refused原创 2022-10-09 12:20:07 · 6162 阅读 · 0 评论 -
Rsync+Sersync实时文件同步
rsync+sersync实时文件同步原创 2022-08-25 11:32:39 · 1976 阅读 · 0 评论 -
Zabbix监控之企业微信告警
Zabbix监控之企业微信告警原创 2022-07-14 11:31:15 · 4717 阅读 · 8 评论 -
跨域及解决跨域CORS
跨域及解决跨域CORS原创 2022-07-08 10:15:31 · 109 阅读 · 0 评论 -
java.io.IOException: Cannot run program “java“ (in directory “/data/jenkins/workspace...
一、背景最近在用jenkins机器编译打版后端项目的时候,控制台出现如下报错java.io.IOException: Cannot run program "java" (in directory "/data/jenkins/workspace/test-zhanjian-super-web"): error=2, 没有那个文件或目录二、排查原因:1、根据报错去jenkins机器查看目录(/data/jenkins/workspace/test-zhanjian-super-we原创 2022-02-28 14:11:49 · 12454 阅读 · 2 评论 -
centos7.x安装FFMPEG
centos7.x安装FFMPEG 安装依赖 [root@content yukw]# yum -y install gcc 安装编译yasm [root@content yukw]# mkdir /data/{src,service}[root@content yukw]# cd /data/src[root@content yukw]# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz[原创 2022-01-12 16:56:59 · 1437 阅读 · 0 评论 -
Python小技巧
1、编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。#!/usr/bin/python# -*-* coding: utf-8 -*-import osdef findfile(key_name,dir_path): filename_list = [x for x in os.listdir(dir_path) if os.path.isfile(x)] for filename in filename_list:原创 2021-12-24 14:51:22 · 611 阅读 · 0 评论 -
Git常用命令
Git常用命令git add . 把文件修改添加到暂存区git commit -m “***” 提交更改,把暂存区的所有内容提交到当前分支git status 查看工作区状态git log 查看提交记录git branch 查看当前所在分支git branch *** 创建***分支git checkout ***原创 2021-12-18 11:02:58 · 277 阅读 · 0 评论 -
【Yum源修改】更换CentOS Yum源为阿里云Yum源
更换CentOS Yum源为阿里云Yum源# 安装wgetyum install wget -y# 备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 获取阿里云yum源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 获取阿里云epel源wget -O.原创 2021-12-09 10:48:07 · 926 阅读 · 2 评论 -
Keepalived+Haproxy+Mysql(双主)高可用架构部署
Keepalived+Haproxy+Mysql高可用架构部署 前言:底层数据库均为双主模式或者MGR的多主模式,mariadb的galera模式,percona的pxc模式;也就是底层的数据库每一个都可写一、背景 公司原部署的Mysql架构为keepalived+Mysql双主,但是这个架构有个缺陷是所有的读写请求都在一台机器上(VIP所在机器),造成另一台机器空闲,导致资源浪费,为了解决这个问题,所以需要往Keepalived和mysql之间增加一个haproxy负载均衡插件,...原创 2021-11-11 16:46:24 · 3444 阅读 · 0 评论 -
磁盘空间告警处理办法
磁盘空间告警处理办法1、背景zabbix告警通知机器磁盘空间少于20%,于是上机器查看发现已使用82%2、问题排查首先查看是哪个目录占用了空间通过 cd / && du -sh * 查看后发现/目录下磁盘使用加起来都没有到11G,其中/mnt是另外一块磁盘sdb挂载上来的3、解决办法通过百度查看网上的一些方法说如果mount目录下原来是有文件存在的,那么该目录被 mount 之后这些文件就会被隐藏,不属于该文件系统,使用du命令是看不到的。于是,先umo...原创 2021-11-10 10:41:39 · 1561 阅读 · 0 评论 -
centos7.x磁盘扩容之二
centos7.x磁盘扩容之二条件:针对虚机、云主机等,磁盘是非lvm分区方式前言:在vmware vSphere client上给虚机 /dev/sdb 磁盘扩容200G后,虚机上运行 df -TH命令,发现磁盘大小改变了,但是没有挂载上。解决办法:重新识别文件系统执行如下命令:xfs_growfs /dev/sdb建议:1、物理机的硬盘才要分区用lvm;2、虚机、云主机都别用lvm,直接一个盘,扩容方便;问题:3、如果虚机、云主...原创 2021-08-25 11:27:58 · 115 阅读 · 0 评论 -
MongoShake迁移同步MongoDB
MongoShake迁移同步mongo数据库简介:Mongo-Shake 由阿里云 Nosql 团队开发和维护。Mongo-Shake 是基于 MongoDB 的 oplog 的通用服务平台。它从源 mongo 数据库中获取 oplog,并在目标 mongo 数据库中重放或发送到不同隧道的其他端。如果目标端是mongo数据库,即直接replay oplog,它就像一个同步工具,用于将数据从源MongoDB复制到另一个MongoDB,以构建冗余复制或双活复制。除了...原创 2021-08-18 18:03:54 · 1417 阅读 · 3 评论 -
Linux打开最大文件数限制
背景:一直对 /etc/profile、/etc/security/limits.conf、/etc/sysctl.conf 三个配置文件理解不是很清楚,查阅了一些网上的资料,自己今天总结归纳一下。配置文件介绍:1、/etc/profile大部分用户环境变量配置都设置在这个配置文件2、/etc/security/limits.conf(用户进程级别的设置)利用ulimit命令可以对资源的可用性进行控制。-H选项和-S选项分别表示对给定资源的硬限制(hard limit)和软限原创 2021-07-20 11:14:28 · 5755 阅读 · 0 评论 -
sudo在shell脚本执行的问题
sudo在shell脚本执行的问题sudo的执行需要tty。如果将sudo service命令写在shell脚本中,通过程序方式调用,是不会执行的。但是centos6.4中比较坑人的是"sorry, you must have a tty to runsudo"这个错误不知道为什么没有报出来,也没有写到日志中,结果浪费了一天的时间去查找原因。如果修改/etc/sudoers,将Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端,也原创 2021-05-24 14:02:58 · 1230 阅读 · 0 评论 -
jstack排查cpu使用率过高
jstack排查cpu使用率过高步骤:1.top命令找出最高占用的进程(command为java)2.查看高负载进程下的高负载线程:top -Hp 【PID】 (或 ps -mp PID -o THREAD,tid,time)3.找出最高占用的线程并记录thread_id,把线程号 进行换算成16进制编号:printf ‘0x%x’ thread_id4.(可选)执行查看高负载的线程名称:jstack 16143【进程】 | grep 3fb6【线程】5.导出进程的堆栈日志,找到3fb6 这个线原创 2021-01-26 17:33:17 · 3085 阅读 · 0 评论 -
出现 ERROR 1045 (28000): Access denied for user ‘mha‘@‘10.0.8.25‘ (using password: YES) 的一种特殊情况
出现 ERROR 1045 (28000): Access denied for user ‘mha’@‘10.0.8.25’ (using password: YES) 的一种特殊情况背景:1、Mysql版本:5.7.142、条件:部署mysql一主两从,主从已经配置成功主库地址:10.0.8.24从库地址:10.0.8.25,10.0.8.263、需求:需要从库能远程连上主库问题:在远程连接的时候出现如下报错(10.0.8.25为主库地址)$ mysql -h 10.0.8.25 -u原创 2020-12-18 18:15:08 · 624 阅读 · 2 评论 -
curl命令常用参数
curl命令常用参数-o-o参数将服务器的回应保存成文件,等同于wget命令。$ curl -o example.html https://www.example.com上面命令将www.example.com保存成example.html。-O-O参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。$ curl -O https://www.example.com/foo/bar.html上面命令将服务器回应保存成文件,文件名为bar.html。-i-i参数打印出服务器原创 2020-11-04 11:18:19 · 3759 阅读 · 1 评论 -
shell定期清理过期文件
shell定期清理过期文件1、功能:定期清理过期的备份数据或日志文件#!/bin/bash#/初始化#source /etc/profile #使环境变量生效#source /home/yukw/.bash_profile #使用户环境变量生效##export LANG="en_US.UTF-8"current_machine=`cat /etc/hostname |awk '{print $1}'`CLEAR_FILE="/scripts/clear.txt"LOGFILE=原创 2020-10-28 10:33:25 · 875 阅读 · 0 评论 -
Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置
Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置"soft" 和 “hard” 的区别soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。hard xxx : 代表严格的设定,不允许超过这个设定的值。如:soft 设为1024,hard设为2048 ,则当你使用数在11024之间时可以随便使用,10242048时会出现警告信息,大于2048时,就会报错。"nproc" 和 "nofile"的区别npr转载 2020-10-12 15:50:37 · 1979 阅读 · 0 评论 -
Nginx中配置https服务兼容访问http资源
Nginx中配置https服务兼容访问http资源简介:HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出现 http 请求,一旦出现就是提示或报错:Mixed Content: The page at ‘https://www.taobao.com/‘ was loaded over HTTPS, but requested an insecure image ‘http://g.alicdn.com原创 2020-09-10 14:26:45 · 12234 阅读 · 6 评论 -
centos7.x磁盘扩容之一
centos7.x磁盘扩容背景:今天在影子环境做mongodb数据库恢复的时候,恢复失败,排查发现是磁盘空间不足导致的,于是让信息部加了一块磁盘sdb,接下来就需要把sdb加上逻辑卷上。一、查看磁盘空间使用情况$ sudo -s# df -HT二、创建物理卷pv# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created# pvdisplay --- Physical volume --- PV Nam原创 2020-08-27 09:56:43 · 427 阅读 · 0 评论 -
linux下批量修改文件dos格式为unix格式
linux下批量修改文件dos格式为unix格式【问题描述】windows系统下的文件格式和unix下不同,使用ftp等软件上传到unix服务器上的文件都需要转换为unix格式后,才可以使用;使用 dos2unix $filename $filename 命令就可以转换,但是一个一个文件的转换太慢【解决方法】经验证,可以使用以下方法进行批量转换当前目录下的所有文件$ for x in $(find . -TYPE f);do dos2unix $x $x;done...原创 2020-08-19 10:40:47 · 4598 阅读 · 0 评论 -
Linux中Screen命令详解
Screen命令详解简介GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。语法:# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]参数说明:-A 将原创 2020-08-07 11:39:42 · 2234 阅读 · 0 评论 -
docker部署ELK+Filebeat之filebeat部署(二)
docker部署ELK+Filebeat之filebeat部署(二)摘要:Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),并将它们转发给Elasticsearch或Logstatsh进行索引、kafka等。带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。本文采用filebeat获取nginx日志传输给logstash提前安装好nginx,步骤如下:# yum原创 2020-07-22 11:49:41 · 1503 阅读 · 0 评论 -
docker部署ELK+Filebeat之logstash部署(三)
docker部署ELK之logstash部署(二)1、获取镜像# docker network ls# docker pull logstash:7.1.12、创建数据卷挂载目录# mkidr /data/service/docker/{filebeat,logstash} -p# cd /data/service/docker/logstash/# vim logstash.yml ##新建文件添加如下两行: path.config: /usr/share/logstash/co原创 2020-07-22 11:22:25 · 1518 阅读 · 0 评论 -
docker部署ELK+Filebeat之kibana部署(四)
docker部署ELK之三 --kibana部署1、拉取镜像# docker pull kibana:7.1.12、启动容器elasticsearch_default根据实际情况而定docker run -d --name kibana -p 5601:5601 --net elasticsearch_default kibana:7.1.1–net 选项指定容器的网络模式因为我这里除了kibana,还启动部署了elasticsearch集群、logstash容器,要保证ELK在同一 N原创 2020-07-22 10:58:49 · 659 阅读 · 0 评论 -
docker更换国内镜像源解决拉取镜像超时问题
docker更换国内镜像源1、背景:今天在用docker拉取nginx镜像的时候一直报超时的错误,严重影响工作效率,报错截图如下:2、解决办法:更换镜像源[root@docker3 conf.d]# vim /etc/docker/daemon.json ##没有该文件则自己创建##添加如下内容{"registry-mirrors": ["http://hub-mirror.c.163.com"]}[root@docker3 conf.d]# systemctl resta原创 2020-07-21 16:32:01 · 2578 阅读 · 0 评论 -
-bash: docker-compose: command not found解决办法
-bash: docker-compose: command not found解决办法背景:今天在运行 docker-compose up -d 命令的时候出现命令没找到的报错# docker-compose up -d-bash: docker-compose: command not found解决办法:1、安装pip# yum -y install epel-release# yum -y install python-pip2、升级pip# pip install --up原创 2020-07-17 16:40:17 · 23804 阅读 · 5 评论 -
docker部署ELK+Filebeat之elasticsearch集群部署(一)
docker部署elasticsearch集群本文旨在三台不同的服务器,搭建elasticsearch集群,版本为7.1.11、服务器列表即配置( 服务器内存尽量不要低于4G)主机名IPdocker110.0.1.47docker210.0.1.48docker310.0.1.492、建立存放yml文件的目录建立文件夹,/root/elasticsearch(随意即可),用于存放启动elasticsearch容器的yml文件以及es的配置文件# mkdi原创 2020-07-17 16:21:11 · 1397 阅读 · 0 评论 -
centos机器查看、支持、修改当前并发数
centos机器查看、支持、修改当前并发数1、查看服务器当前的并发数$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'CLOSE_WAIT 13 (SYN连接请求收到2个 等待确认)ESTABLISHED 98 (有1个正常数据传输状态)TIME_WAIT 563(等待结束的请求62个)您在 /var/spool/mail/yfbkf 中有新邮件2、查看服务器支持的最大并发数$ ulimit -ac原创 2020-06-24 18:19:00 · 1969 阅读 · 0 评论 -
Nginx后端Web服务器健康检查
Nginx后端Web服务器健康检查背景:有一个问题,当Nginx没有后端检测功能,当后端某一服务器无法提供服务时,该链接先被转发到这台机器,然后发现该机故障,而后才转发到其它机器,导致资源浪费。因此引入 nginx_upstream_check_module 模块,该模块用于提供负载均衡器内节点的健康检查,通过它可以用来检测后端服务的健康状态。如果后端服务不可用,则后面的请求就不会转发到该节点上。操作# yum -y install patch# cd /usr/local/src/ngin原创 2020-06-22 11:29:08 · 960 阅读 · 0 评论 -
Nginx配置访问用户认证
Nginx配置访问用户认证条件1、源码包编译安装时加上 –with-http_ssl_module模块(SSL加密模块)2、安装 httpd-tools 工具包实操1、查看是否安装ssl加密模块# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.8.0built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) built with OpenSSL 1.0.1g 7 Apr 2014TLS原创 2020-06-05 15:16:45 · 1073 阅读 · 0 评论 -
查看服务器的外网IP
查看服务器的外网IP1、curl cip.cc[test@rabbitmq02 ~]$ curl cip.ccIP : 220.168.33.22地址 : 中国 湖南 长沙运营商 : 电信数据二 : 湖南省长沙市 | 电信数据三 : URL : http://www.cip.cc/220.168.33.222、curl myip.ipip.net[test@rabbitmq02 ~]$ curl myip.ipip.net当前 IP:220.168.33.22 来自于:中原创 2020-06-02 17:52:29 · 7916 阅读 · 0 评论 -
centos7.7部署rabbitmq镜像模式集群
centos7.7部署rabbitmq镜像模式集群基础环境:IP地址主机名用途10.0.1.209rabbitmq01磁盘节点10.0.1.211rabbitmq02内存节点操作部署:1、修改hosts表(两台机器均执行)添加两行,保证两台机器能互相ping通主机名127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localh原创 2020-05-28 17:46:51 · 696 阅读 · 0 评论 -
RabbitMQ学习之集群模式
RabbitMQ集群模式和基本介绍由于RabbitMQ是用erlang开发的,RabbitMQ完全依赖Erlang的Cluster,因为erlang天生就是一门分布式语言,集群非常方便,但其本身并不支持负载均衡。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在 $home/.erlang.cookie 中(像我的root用户安装的就是放在我的root/.erlang.cookie中),文件是400的权限。所以必须包管各节点cookie对峙一致,不然节点之间就转载 2020-05-28 15:40:25 · 532 阅读 · 0 评论