自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

北海牧野

不积跬步无以至千里,希望有一天可以过上自己想要的生活

  • 博客(126)
  • 收藏
  • 关注

原创 golang-基础语法

fastPath 理想状态,互斥锁处于解锁状态,直接通过CAS获取锁。lockSlow goroutine队列 + 饥饿模式,通过 goroutine 排队的方式来获取锁。首先通过 CAS 原子性操作尝试将 mutex 加锁。如果成功表示加锁成功。CAS 失败后,表示当前 mutex 已经被其它 goroutine 持有,会进入 slowPath。在 slow Path 中继续判断是否可以进行自旋等待。如果自旋次数 达到4次还没有获取到锁,就会强制进入饥饿模式。

2024-04-16 09:59:05 630 1

原创 ssh.service

linux ubuntu sshd systemctl 启动文件

2022-12-15 10:05:36 756 1

原创 Mysql 函数

MySQL 开发常用函数一、数学类函数二、字符串函数三、日期时间函数四、判断函数五、系统函数六、加密解密函数七、进制函数一、数学类函数ABS(x) 绝对值函数PI() 圆周率函数SQRT(x) 平方根函数FLOOR(x) CEIL(x) CEILING(x) 取整函数RAND() \ RAND(x) 随机数函数(0~1),(x) 取固定值ROUND(x,y) \ ROUND(x) 四舍五入函数,(x) 保留整数TRUNCATE(x,y) 截取数值函数SIGN(x) 符号函数 x

2021-09-04 11:48:44 511

原创 Linux 粘滞位 suid sgid

粘滞位:o+t 针对目录赋权,目录中创建的文件只有创建者才可以删除 (命令:chmod o+t 目录名 )删除权限用减即可sgid:g+s 针对目录建立权限,在该目录中建立的文件所属组继承父目录的属组 (命令:chmod g+s 目录名) 删除权限用减即可。suid:u+s 针对可执行文件建立。谁运行该文件,谁就具有该文件所属者的权限。比如,我运行vim,vim的所属者是root用户,那么我就是以root用户的身份运行vim。 suid很重要也很危险,不能随便

2020-10-14 17:53:08 385

原创 Golang struct 指针引用用法(声明入门篇)

Golang struct 指针引用用法一、前言入门篇,只包括声明内容,基础的赋值 和 修改值。个人总结:在 变量访问 struct 结构体时,共有5种不同的方式定义 指针结构体。个人术语:结构体内:struct具体的变量实例:struct 内定义的变量访问结构体:在 struct 外,通过变量 访问 结构体,var 变量名 结构体名指针结构体实现的目的:1、通过引用内存空间地址,来为 结构体内 定义的具体的变量实例 进行赋值 — 赋值。2、通过引用内存空间地址,修改 访问

2020-09-24 20:05:30 8193 1

原创 Jenkins + Docker + SpringCloud 微服务持续集成 - 高可用集群部署(三)

Jenkins + Docker + SpringCloud 高可用集群部署方案微服务持续集成(一):https://blog.csdn.net/shm19990131/article/details/107552335一、单机部署方案存在问题一次只能选择一个微服务部署只有一台生产者 docker 部署服务器每个微服务只有一个实例,容错率低二、高可用集群优化方案在一个 Jenkins 工程中可以选择多个微服务同时发布。在一个 Jenkins 工程中可以选择多台生产服务器同时部署每个微

2020-07-30 08:03:07 1858

原创 Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)

GitLab + Jenkins + Docker + SpringCloud 微服务集成实践找一个网上的 spring cloud 工程来用https://www.cnblogs.com/niugang0920/p/12186946.html属于单机 docker 部署应用,这个微服务项目,做不出来最终的项目效果。只适合学习,如何持续化继承一个项目到 docker 生产服务器。一、GitLab提交代码到 gitlab 仓库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(

2020-07-30 07:28:37 877

原创 Jenkins + Docker + SpringCloud 微服务持续集成(一)

Jenkins + Docker + SpringCloud 微服务持续集成环境部署,docker 测试一、jenkins + Docker + SpringCloud CI\CD\CD 流程流程简介:开发人员将代码上传至 Gitlab仓库jenkins 从 Gitlab 中利用webhook拉取源码,编译打成 jar 包,然后构建成 docker 镜像,将镜像上传到 Harbor仓库。jenkins 发送 SSH 远程命令,让生产服务器到 Harbor 私有仓库拉取镜像到本地,然

2020-07-24 06:56:28 1763

原创 Jenkins - sonarqube 代码审查

Jenkins - SonarQube 代码审查一、安装部署 SonarQube1、全部搭建在 jenkins 主机,环境要求安装 JDK1.8安装 Mysql,并创建 SonarQube 数据库、用户安装 SonarQube2、修改 sonar 配置文件3、修改 ElasticSearch 所需要的文件描述符 、虚拟内存4、启动 sonarQube二、 实现代码审查1、访问 sonar2、生成一个 token 编码,token编码名字自定义3、jenkins 安装插件,设置 sonarQube三、非流水线

2020-07-23 10:03:04 412

原创 jenkins 构建细节 - 邮件通知

Jenkins 邮件通知一、准备邮件内容二、pipeline - Jenkinsfile 流水线添加 邮件告警三、修改代码触发构建,验证是否可以成功发送邮件配置邮件服务器地址:https://blog.csdn.net/shm19990131/article/details/107496877一、准备邮件内容在项目根目录编写 email.html ,并把文件推送到 Gitlab如果有多个分支,那么每个分支内 根目录都要有此 email.html 文件<!DOCTYPE html>

2020-07-23 09:53:37 1372

原创 jenkins 构建细节 - 分支参数化构建

jenkins 构建细节 - (分支参数化构建)一、 实现内容二、实现步骤1、在 pipeline 流水线项目开启参数化构建2、修改 pipeline 的 Jenkinsfile 文件,指定变量来拉取代码3、在 Gitlab 上创建分支,并设置 jenkins 主分支、从分支的 webhook①、配置webhook,注意有几个分支,就要开几个webhook②、配置 jenkins - Pipeline构建任务4、Gitlab 修改主分支 或者 从分支 内容,Jenkins 自动触发构建①、修改主分支内容②、

2020-07-23 09:50:24 3203

原创 SonarQube 7.8 启动后又关闭,其他失败总结

一、遇到问题在启动 sonarqube 的时候明明 ES 已经带起来,却又突然关闭了,如下图:经过很长时间的排查,发现日志当中并没有 WARN ERROR 的报错。很是苦恼,所以来一步步分析错误,最终解决。二、问题分析sonarqube 关键的三个组件1、ElasticSearch2、Mysql 数据库3、web - GUIsonarqube 启动顺序也是如此,先启动 ElastcSearch ,然后是数据库,然后是 web - GUI。其 logs 日志目录,也是按照这个顺序记录日志

2020-07-23 07:23:08 2973

原创 Jenkins SSH认证凭据、配置邮件服务器

jenkins 构建maven项目一、环境准备:jenkins-master + maven/java 在jenkins主服务器上部署maven全局配置:必须以下图为标准,不能有出入二、SSH 私钥认证Gitlab (存放公钥:id_rsa.pub) ———— Jenkins (存放私钥:id_rsa )这一步可以提前做,也可以在 构建 Maven 项目时再创建 SSH 认证,效果是一样的。三、在创建项目时生成 SSH认证1、在github上操作一个项目1、创建一个空的

2020-07-22 13:51:57 1343

原创 jenkins 构建细节 - 构建触发器

jenkins 构建细节一、常用的构建触发器1、触发远程构建2、其他工程构建后触发3、周期进行构建4、轮询 SCM5、Git Hook 钩子函数触发①、jenkins 配置②、Gitlab 配置③、Gitlab 开启 webhook 功能一、常用的构建触发器Build afer other projects are built:在其他项目生成后 再进行构建Build periodically:周期进行构建GitLab webhook URL: http://192.168.168.13:888

2020-07-22 11:16:00 751

原创 jenkins 构建项目 - pipeline(基础)

jenkins - pipeline一、pipeline 简介二、pipeline 有哪些好处三、创建 pipeline 流程步骤四、声明式语法入门语法案例:五、脚本示语法六、流水线语法片段生成器部署上线示例:1、拉取代码:check out from version control2、编译打包 sh: Shell Script3、部署上线 deploy: Deploy war/ear to a container4、水线阶段视图:流水线脚本管理 Jenkinsfile一、pipeline 简介​ p

2020-07-22 11:05:34 902

原创 Jenkins 构建项目 - Maven - tar.gz/war

Jenkins - Maven - tomcattar.gz包部署,war包部署实验环境主机IP地址环境gitlab192.168.168.4jdk(1.8)+mavenjenkins192.168.168.5jdk(1.8)+maventomcat192.168.168.6jdk(1.8)+ manager一、tar.gz包部署1.创建game-of-life仓库,并上传tar.gz软件包2.在jenkins服务器创建项目,具体内容如下

2020-07-21 20:09:58 827

原创 jenkins 构建项目 - FreeStyle

jenkins 构建项目Ⅰ、jenkins 持续化集成环境 构建主机名IP地址环境准备Gitlab192.168.168.3maven+jdkjenkins192.168.168.4maven+jdktomcat192.168.168.5jdk+managernexus192.168.168.6jdkⅡ、Jenkins 中自动构建项目类型自由风格软件项目(FreeStyle Project)Maven项目(Maven Project)

2020-07-21 19:56:08 1037

原创 Jenkins - Role-based户权限全局配置

Jenkins 全局配置一、配置全局工具1、maven配置文件得绝对路径2、jdk工具得配置路径3、git 工具绝对路径4、安装maven工具二、用户安全限制Ⅰ、安装如下权限管理插件Role-basedⅡ、生效 Role-based 权限管理Ⅲ、创建角色权限1、创建用户2、用户权限3、用 Manage and Assign Roles 设置 全局角色权限Global roles:全局角色,设置管理员权限Item roles:项目角色,设置项目权限N

2020-07-21 19:30:38 1881

原创 jenkins 主从搭建(自用)

jenkins 主从一、搭建jenkins主机二、在 jenkins-master 主节点上配置 ssh认证三、在 jenkins-web页面上添加从服务器开启 Agent slave-1 节点,点击Launch agent最后绑定给生成的一个项目,设置专案执行节点,让从服务器也执行此任务环境:host1-jenkins-masterhost2-jenkins-slave一、搭建jenkins主机1、java环境2、maven环境3、安装jenkins[root@node3 ~]# rpm

2020-07-21 13:19:26 989

原创 Jenkins部署,安装插件

Jenkins 安装安装 Maven一、部署Jenkins二、优化下载速度、汉化三、插件安装jenkins 必装插件1、在 jenkins - 插件管理中心 搜索安装2、在官网下载插件,导入到 Jenkins - web默认端口:8080 官网:jenkins.io安装 Maven[root@localhost ~]# tar -zxvf apache-maven-3.6.0-bin.tar.gz -C /usr/src/[root@localhost ~]# mv /usr/src/apa

2020-07-21 13:10:14 763

原创 Mycat1.6.7 主从、读写、双主环境搭建

Mycat 安装启动Mycat 搭建后端准备环境1、JDK2、主从集群环境3、放行防火墙,授权用户一、Mycat 主从安装部署Ⅰ、解压安装Ⅱ、关键配置文件1、修改 server.xml2、修改 schema.xmlⅢ、启动程序1、控制台启动2、后台启动Ⅳ、登录Mycat 数据窗口 8066二、Mycat 开启读写分离①、banlance②、writeType三、双主双从1、双主双从配置master-1 配置文件master-2 配置文件slave-1 配置文件slave-2 配置文件授权用户2、配置 Myc

2020-07-20 06:25:39 615

原创 Mycat 中间件概述、原理

Mycat 概述一、MyCAT 是数据库中间件二、为什么要用 Mycat提出问题:解决方法:三、各种数据库 中间件四、Mycat 提供的功能①、读写分离②、双主双从③、数据分片④、多数据源整合Mycat 工作原理原理Mycat 拦截图过程分析:一、MyCAT 是数据库中间件​ 中间件: 是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通。例如:Tomcat、web中间件。​ 连接 java程序 和 mysql集群。二、为什么要用 Mycat​ java 应用 ———

2020-07-19 12:10:46 1237

原创 MHA Binlog Server自用

MHA Binlog Server(MHA数据备份)一、前提在额外的一台机器上(可以是manager节点),安装 MySQL 并与源库版本一致,支持 gtid。同步主库的内容注意:一定要做 ssh 免密登录。二、修改 manager 配置文件vim /etc/masterha/app1.cnf添加以下信息:[binlog1] #必须叫这个名字,是MHA定义好的no_master_1 #不会被选主hostname=192.168.168.3

2020-07-19 07:40:23 511

原创 MHA 邮件告警、故障提醒

MHA 故障提醒1.添加参数:vim /etc/masterha/app1.cnfreport_script = /usr/local/bin/send2.准备 send_report 邮件告警脚本,放到 /usr/local/bin下send_report,注意:此脚本在实际应用中不允许有任何汉字。#!/usr/bin/env perluse strict;use warnings FATAL => 'all';use Email::Simple;use Email::Sen

2020-07-18 14:38:04 2052 1

原创 MHA0.58版本,send_report脚本,绝对无坑自用亲测。Email::Simple告警

自用告警脚本Email::SimpleMHA0.58版本根本不支持 Mail::Sender 告警真是想不通,网上那么多 Mail:Sender 的发出来不是误人子弟吗。#!/usr/bin/env perluse strict;use warnings FATAL => 'all';use Email::Simple;use Email::Sender::Simple qw(sendmail);use Email::Sender::Transport::SMTP::TLS;use

2020-07-18 14:34:12 1328 1

原创 MHA 邮件告警 send_report报错:/usr/bin/env: perl^M: 没有那个文件或目录

在做 MHA 故障转移告警时出现的错误故障可以自动转移,但是邮件不能成功发送,所以第一时间查看 日志:/var/log/masterha/manager.log日志发送邮件如下:出现问题的原因“/usr/bin/perl^M:没有那个文件或目录”这个问题大多数是因为文件在Windows下编辑过。Windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n。用cat -A filename时你可以看到这个\r字符被显示为^M。解决方法sed -i 's/\r$//' se

2020-07-18 09:51:47 1251

原创 MHA0.58 VIP故障自动转移

MHA VIP一、MHA VIP 功能2、manager 配置文件添加以下内容3、启动 MHA4、VIP故障转移关键点:二、keepalived + MHA 实现VIP一、MHA VIP 功能上传脚本并修改内容( /usr/local/bin/master_ip_failover )该脚本在故障时。MHA切换时才会调用脚本#!/usr/bin/env perl# Copyright (C) 2011 DeNA Co.,Ltd.## This program is free softw

2020-07-18 09:09:18 727

原创 MHA master_ip_failover脚本文件,自用亲测,无坑

本脚本,不是网上的复制版本。网上复制的那堆脚本,根本做不到自动化 飘移VIP地址。原因如下:#!/usr/bin/env perl# Copyright (C) 2011 DeNA Co.,Ltd.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# t

2020-07-18 07:54:14 2175 1

原创 MySQL5.7.29 MHA 底层集群搭建,并进行简单测试

5.7.29 MHA 集群搭建1.故障转移2.尽可能保证数据一致性该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)选举原理1.当主数据库宕机时,会尝试获取主库宕机时的二进制文件,对从库进行最后一次同步。2.找到已经同步到最新数据的从库,将该从库中的中继日志传给其他从库,同步数据3.保证从库间的数据一致性,再从从库中找出一台作为新的主库,并同步其文件4.其余的从库从新的主库同步数据,保证主从集群的正常运作MHA 高可用架构工作原理1.监控节点(通过配

2020-07-17 15:40:55 834 1

原创 MySQL5.7.29安装部署/主从配置(自用)

mysql 5.7安装方法1.解决依赖关系1. 解决依赖关系[root@locahost ~]# yum -y install ncurses-base ncurses-devel ncurses-libs libtool-ltdl-devel libxm12 libxm12-devel zlib-devel xz-devel pcre pcre-devel openssl openssl-devel gd gd-devel perl perl-devel perl-ExtUtils-Em

2020-07-17 15:22:30 398

原创 解决 Github 下载速度慢10K得方法,下载 kafka-eagle 时解决下载速度问题

github下载慢,下载文件很慢,轻松解决方法教程1.通过修改hosts文件来提速 获取github的IP地址访问:https://www.ipaddress.com依次获取以下三个网址的IP,这三个地址非常关键!github.comgithub.global.ssl.fastly.netcodeload.github.com2.写入到 windows 得 hosts文件3.再次尝试下载,速度会有质的飞跃最后,那些下载一个软件包都收费得人,我真不知道它们是什么心理,穷不起了吗??

2020-07-15 21:17:59 1314

原创 Beats—Metricbeat-system采集、Nginx-status指标采集

Metricbeat一、定义二、组成三、部署、运行安装:运行〇、Module - system指标采集Ⅰ、Module - Nginx 模块Ⅱ、Modules - System (系统指标) 仪表板Ⅲ、Filebeat - Modules - Nginx - 日志仪表板一、定义Metricbeat是一种轻量级的托运人,您可以将其安装在服务器上,以定期从操作系统和服务器上运行的服务收集指标。Metricbeat会收集它收集的度量标准和统计信息,并将其运送到您指定的输出中,例如Elasticsearch或

2020-07-13 19:09:01 877 1

原创 Beats — Filebeat 自定义标签+多日志采集

Beats — Filebeat 进阶一、自定义采集数据标签自定义标签自定义字段终端端显示信息完整的一个 自定义标签、自定义字段的 filebeat采集日志logstash 引用标签,对索引进行输出二、Filebeat 采集多个日志配置一、自定义采集数据标签自定义标签tags: [“nginx-access”] 自定义标签为 nginx-accesstags: [“error-access”] 自定义标签为 error-access自定义字段fields: from: ng.

2020-07-13 19:00:29 6304 3

原创 Beats — Filebeat 基础操作

ElasticStack—Beats定义一、ElasticStack 的组成二、Beats 组件FileBeat 日志采集二、 Filebeat 工作原理三、启动命令四、部署和运行1、output.console 通过终端获取到数据2、输出 到 output.ElasicSearch3、读取 Nginx 日志文件4、Module 内置模块采集Nginx内置Module 启动nginx,禁用nginx配置 Module -- Nginx 配置文件配置 filebeatModules - Nginx - 日志仪

2020-07-13 18:55:52 2872

原创 7.X(7.6.2) ElasticSearch,ES集群搭建_head_ik绝对无坑

ElasticSearch 集群一、环境准备1.版本环境最低 1.8JDK(本文14.0)2.网络对时:3.系统文件描述符,参数优化二、熟悉目录、配置文件三、部署集群1、安装 ElasticSearch2、部署 Head-web插件3、安装 kibana 查询工具4、部署中文分词器 ik 插件安装 ik:**验证是否安装成功**此文章敢说全网最新,无坑,且详细官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch镜像下载地址,logstash

2020-07-13 18:42:03 764

原创 运维篇 -- ElasticSearch 7.X 基础知识理论知识,开发绕路

ElasticSearch定义概述:​ Elaticsearch ,简称es,es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。​ Es也使用 java开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是他的目的是通过简单的 RESTful API来隐藏 Lucene 的复杂性,让全文搜索变得简单。​ ES的底层搜索是 Lucene的倒排索引。谁在使用:1、维基百科,类似百度百科,全文检索

2020-07-13 18:40:45 754

原创 DevOps面向运维如何落地,简单易懂,大白话,看不懂你骂死我

Devops 简单易懂、运维落地知识一、什么是DevOps二、公司开发流程三、如何实现 DevOps 落地四、持续集成交付部署传统交付流程容器交付流程五、什么是 CI / CD /CD六、总结一、什么是DevOpsDevOps 是一种思想或方法论,它涵盖开发、测试、运维的整个过程DevOps 强调软件开发人员与软件测试、软件运维、质量保障 (QA) 部门之间有效的沟通与协作强调通过自动化的方法管理软件变更,软件集成,软件部署上线(CI/CD/CD)使软件从 构建 到 测试、发布、更加快捷、可靠,

2020-07-10 20:32:15 1522

原创 prometheus 最新 pushgateway 企业级实际使用

pushgateway 自定义监控项一、TCP 等待连接监控出于各种 wait 状态的 TCP 连接,是作为运维平日排查(网络负载、服务器负载、DB)的一个重要指标。netstat (Close_wait,time_wait)一般当 wait 类型的TCP过大时,说明系统网络(流量负载出现问题)vim /usr/local/node_exporter/shell/tcp_connection.sh#!/bin/bashinstance_name=`hostname -f`if [ $ins

2020-07-09 09:47:15 767

原创 prometheus 最新 node_exporter企业级实际使用

Prometheus 企业级实际使用一、企业CPU监控真实案例用户态的CPU 使用率,是跟应用程序(或者说软件) 的运行密切相关当软件启动大量进程并行处理任务时,当进程之间频繁上下业务切换时,对用户态的CPU 消耗最大。IOWAIT CPU等待时间,当服务器硬盘 IO占用过大时,CPU会等待IO的返回,进入 interuptable 类型的CPU等待时间,所以对于 IOWAT CPU的监控是很有必要的。报警阈值设置:设置成80.90不符合实际生产环境最好CPU综合利用率在 95左右,最为合

2020-07-09 09:43:28 2104

原创 Prometheus - Grafana 安装、备份、Email告警、Pagerduty告警

Grafana 绘图工具一、安装,运行:二、访问三、设置数据源、连接prometheus、创建仪表盘四、备份导出、导入五、Grafana 报警Ⅰ、Pagerduty 告警1、新建一个报警平台连接渠道 (Alerting Channel)2、为仪表板添加报警规则3、接收告警信息的效果Ⅱ、Email 邮件告警修改 grafana.ini(defaults.ini) 配置文件4.0版本之后,可以告警:https://grafana.com/grafana/download一、安装,运行:wget http

2020-07-08 10:09:49 1537

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除