自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 我的友情链接

Die:https://zhang_ya_zhuang.gitee.io/blog/这是一个好哥们自己搭建的一个博客,有兴趣可点进来看看!!!

2020-03-20 17:31:51 67

原创 Tomcat面试题+http面试题+Nginx面试题+常见面试题

Tomcat面试题1、Tomcat的缺省端口是多少?怎么修改?答:缺省端口是8080,若要修改,可以进入Tomcat的安装目录下找到conf目录下的server.xml文件,找到该文件中的Connector字段中的port。2、Tomcat有哪几种connector运行模式(服务的请求方式)?答:三种。修改它的运行模式需要在主配置文件中找到connector字段中的protocol进行修改...

2019-12-12 15:04:43 1774

原创 kubernetes资源对象的升级、回滚、扩容、缩容

一、资源创建的方式之一,命令的方式创建资源,理解命令运行之后的动作,通过查看资源的方式,总结Pod名称的由来。当我们执行创建资源的命令后,deployment这个控制器会通过replicaset控制器去管理pod,下面通过一个实例来分析,当我们执行创建资源的命令后,k8s都做了些什么(通过其NAME即可发现规律)?运行一个deployment[root@master ~]# kubectl run test01 --image=nginx:latest --replicas=2#运行一个nginx容

2020-08-13 17:28:08 1

原创 kubernetes使用YAML的方式管理Kubernetes资源

在K8s中创建资源的方式有两种:命令行和YAML文件,本次博文主要介绍使用YAML文件的方式,如需使用命令行创建资源请参考kubernetes使用命令行的方式管理Kubernetes资源(升级、回滚、扩容、缩容)一、YAML文件基础YAML是专门用来配置文件的语言,非常简洁和强大。与了解的properties、XML、json等数据格式,习惯之后就会发现越来越好用。其实YAML就是结合了大部分的标记语言的特性,整合新开发的。YAML文件的特点:层次分明、结构清晰;使用简单、上手容易;功能强大、

2020-08-13 11:54:54 10

原创 kubernetes使用命令行的方式管理Kubernetes资源

了解Kubernetes的朋友,可能都听过这样一句话:Kubernetes中一切皆是资源!一、资源的创建与删除[root@master ~]# kubectl run test --image=nginx:latest --replicas=5//基于nginx的镜像创建一个deployment类型的控制组,名称为test,并指定副本数量为5[root@master ~]# kubectl get deployments. //查看deployment控制器NAME READY

2020-08-12 17:25:41 23

原创 kubernetes的部署架构以及工作原理

kubernetes 整体架构Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统,所以整体的架构和borg很相似,整个架构有api server,control manager,scheduler,etcd,kubelet,kube-proxy,network-plugin等相关组件完成,整体架构如下:其中:Api server,Control manager,Scheduler,Etcd属于master节点,相关组件功能如下:1.Etcd:保存了整个集群的状

2020-08-12 17:12:36 21

原创 Centos 7使用kubeadm部署Kubernetes 1.15

一、Kubernetes简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化应用。Kubernetes的目标就是让部署容器化的应用简单并且高效。Kubernetes提供了应用部署、规划、更新、维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行,管理员可以加载一个微型服务,让规划期来找到合适的位置,同时,Kubernetes也系统提升工具以及人性化方面,让用户能够方便的部署自己的应用。本片博文主要介绍如何部署Kubern

2020-08-11 14:10:56 22

原创 docker——部署Docker swarm集群

一、Docker swarm简介Docker swarm与docker-compose一样,都是docker官方推出的docker容器的编排工具。但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合。Docker swarm:其作用就是把若干个Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docke

2020-08-10 18:10:02 75

原创 Docker——配置Consul+registrator实时服务发现

Consul:是用于服务发现和配置的工具。Consul是分布式的,高度可用的,并且具有极高的可伸缩性,它是一个一个分布式的、高可用的系统,而且开发使用都很简单、方便、它主要提供了一个功能齐全的控制平台,主要特点:服务发现、健康检查、键值存储、安全服务通信、多数据中心;Registrator:负责收集docker host上容器的信息,并发送给consul;Consul-tpmplate:根据编辑好的模板生成新的nginx配置文件,并负责重新加载nginx配置文件;一、环境准备系统版本主.

2020-08-08 16:53:23 22

原创 Docker——自带的监控+sysdig+scope+prometheus

一、docker自带的监控命令首先通过几个镜像运行几个容器:[root@localhost ~]# docker pull httpd[root@localhost ~]# docker pull centos[root@localhost ~]# docker pull busybox[root@localhost ~]# docker run -d -p 80 --name http-1 httpd[root@localhost ~]# docker run -dit --name busy

2020-08-07 14:50:22 113

原创 Docker——三剑客之docker-compose

一、Docker-Compose简介Compose是用于定义和运行容器docker应用程序的工具。通过Compose,可以使用YAML文件来配合应用程序需要的所有的服务。然后,使用一个命令,就可以从YAML文件配合中创建并启动所有服务。那么就需要了解YAML文件的基本语法。YAML文件基本语法:大小写敏感;使用缩进表示层级关系;缩进不允许使用tab,只允许空格;缩进的空格数不重要,只要相同等级的元素左对齐即可;“#”表示注释;Docker-Compose是一个容器编排工具。通过一个.ym

2020-08-06 15:45:00 53

原创 Docker——分离部署LNMP

一、环境准备centos 7.5服务器一台,运行docker服务;关于docker服务的安装,参考博文:docker——简介+安装+基础命令+镜像加速+dockerfile案例环境:在一台docker 主机上安装即可!预设环境如图:网路类型名称ip地址Nginx自定义网卡(LNMP)Nginx200.0.0.10Mysql自定义网卡(LNMP)Mysql200.0.0.20php自定义网卡(LNMP)Phpfpm200.0.0.30搭建

2020-08-05 14:43:27 46

原创 Docker——数据持久化

在了解Docker数据持久化之前,需要对Docker的存储类型有一个简单的了解,执行以下命令即可看出:[root@docker01 ~]# docker info //查看Docker的详细信息Containers: 1 //一共有几个容器 Running: 1 //正在运行的有几个容器 Paused: 0 //挂起、暂停的有几个容器 Stopped: 0

2020-08-04 17:39:34 44

原创 Docker——网络管理+docker跨主机通信

当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。本文首先介绍了Docker自身的4种网络工作方式,然后介绍一些自定义网络模式。一、Docker的原生网络当你安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、

2020-08-01 18:15:58 72

原创 Docker——搭建私有仓库registry+Harbor

随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库。目前常用的两种仓库:公共仓库和私有仓库。最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的。私有仓库最常用的就是registry、Harbor两种,那接下来详细介绍如何创建私有仓库。一、搭建registry私有仓库1)案例描述两台docker服务器,dockerA创建registry私有仓库,dockerB用于测试!2)案例实例(1)DockerA服务器的操作[root@do

2020-07-30 10:47:00 56

原创 docker——dockerfile理论+构建httpd+sshd+systemctl+Nginx+Tomcat+MySQL镜像

Dockerfile概述Dockerfile是docker中镜像文件的的描述文件,说的直白点就是镜像文件到底是由什么东西一步步构成的。例如:你在淘宝上买了一个衣架,但是卖家并没有给你发一个完整的衣架,而是一些组件和一张图纸,你按照这个图纸一步一步将衣架组装起来,就成了你所需要的样子。那么Dockerfile 就是这张图纸,镜像文件就是你需要的这个衣架,Dockerfile 不建议随便命名,就用 Dockerfile。因此,Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指

2020-07-28 18:19:06 48

原创 Docker——一张架构图让你了解docker工作原理

首先Docker是基于Go语言进行开发的,而且是基于C/S结构进行工作的,如图:从图中可以看出:(1)用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者;(2)Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求;而后Engine(引擎)执行Docker内部的一系列工作,每一项工作都是以一个Job的形式存在;(3)Job的运行过程中,当需要容器镜像时,则从Docker Regist

2020-07-25 12:04:46 56

原创 docker——基于centos:7镜像运行一个容器,并且在这个容器内部署Nginx服务

环境准备: 两台centos7,都需要开启docker服务, docker1 192.168.10.52 docker2192.168.10.53两台服务器都要看到上图信息,代表docker服务已运行docker1上的操作1).下载镜像,并查看2).运行容器3)进入容器,开始部署nginx服务。——————————————————————————————————————————————————————————————————————————————————————————.

2020-07-24 15:04:43 44

原创 Docker—— 命令总结

**一、Docker镜像操作基础命令**[root@localhost ~]# docker search 镜像名称 //搜索镜像(在docker hub官网上进行查找)[root@localhost ~]# docker pull 镜像名称 //下载镜像(如果不指定镜像标签默认下载最新版的镜像)[root@localhost ~]# docker push 仓库名称/仓库账号/镜像名称 //上传镜像[root@localhost ~]# do

2020-07-24 13:46:58 26

原创 docker——NameSpace与Cgroup介绍+内存、磁盘、cpu限制

Namespace概念虚拟化的技术就是用来解决宿主机与虚拟机之间的耦合问题(简称“解耦”),传统虚拟化技术是属于完全解耦的,而docker这种虚拟化技术是属于半解耦的。耦合:就是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象;解耦:接触耦合、冲突现象;Docker是如何解耦的呢?这就需要使用到——Namespace(命名空间)。Namespace(命名空间):是Linux为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。Namespace(命

2020-07-23 08:46:14 91

原创 KVM——迁移KVM虚拟机

一、KVM虚拟机迁移的方式KVM平台中的KVM虚拟机迁移分为以下两种:(1)冷迁移(静态迁移)我们存放虚拟机磁盘的目录都是挂在的一个nfs文件系统的磁盘,进行冷迁移时,只要在目标主机上挂载这个nfs文件系统,就可以看到要迁移的那个虚拟机的磁盘文件,通常以.qcow2或.raw结尾的,然后,只需将虚拟机的.xml配置文件发送到目标服务器上,然后重新定义一下迁移过来的虚拟机即可!(2)热迁移(动态迁移)如果源宿主机和目的宿主机共享存储系统,则只需要通过网络发送客户机的 vCPU 执行状态、内存中的内容

2020-07-19 20:42:10 65

原创 kvm——磁盘+快照+克隆+网络管理

一、磁盘与快照管理这个段落主要介绍磁盘与快照的管理!在KVM虚拟机中有两种磁盘格式,分别是:RAW:裸格式。占用空间较大,性能比较好,但不支持快照功能;qcow2:占用空间较小,性能相比较RAW稍差,,但它支持快照功能;(1)虚拟磁盘管理举例说明:[root@localhost ~]# qemu-img create 1234.raw 5G //创建虚拟磁盘,名称为1234.raw,大小为5G,创建磁盘默认格式为raw[root@localhost ~]# qemu

2020-07-18 13:40:13 65

原创 kvm基础概念+安装+基础命令+vnc连接

kvm基础概念虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同得操作系统,并且应用程序都可以在相互独立得空间内运行而不受影响,从而显著提高计算机得工作效率。虚拟化使用软件得方法重新定义规划IT资源,可以实现IT资源得动态分配、灵活调度、跨域共享、提高IT资源利用率,使IT资源能够真正成为基础设施,服务于各行各业中灵活多变得应用需求。1.0虚拟化简史其中,KVM 全称是 基于内核的虚拟机(Kernel-based Virtual

2020-07-16 17:06:13 144

原创 redis基础指令及数据类型

全局指令redis有5种数据类型,它们是键值对中的值,对于键来说有些通用的命令。这里称之为全局指令。set 创建一个键值对127.0.0.1:6379> set a 1mset 创建多个键值对127.0.0.1:6379> mset a 1 b 2 c 3OKget 通过键来获得值127.0.0.1:6379> get amget 获取多个键值127.0.0.1:6379> mget a b c1) "1"2) "2"3) "3"dbsize 统计

2020-07-13 08:48:27 38

原创 Redis 5.0部署

redis支持的数据类型:字符串(string)哈希表(hash)列表(list)集合(set)有序集合(zset)位图(bitmaps)HyperLoglogs、GEO等redis特性如下:速度快:基于内存工作,使用离OS最近的C语言编写,使用单线程架构,预防了多线程可能产生的竞争问题。基于键值对的数据结构服务器:redis中的值不仅仅可以是字符串,关于其支持的数据类型已经在文章开头列出来了。丰富的功能:1.键过期功能,用来实现缓存。2.发布订阅功能,用来实现消息系统。3

2020-07-13 08:27:30 38

原创 Lepus 天兔数据库监控

Lepus是一套开源的数据库监控平台,目前已经支持MySQL、Oracle、SQLServer、MongoDB、Redis等数据库的基本监控和告警(MySQL已经支持复制监控、慢查询分析和定向推送等高级功能)。Lepus无需在每台数据库服务器部署脚本或Agent,只需要在数据库创建授权帐号后,即可进行远程监控,适合监控数据库服务器较多的公司和监控云中数据库,这将为企业大大减化监控部署流程,同时Lepus系统内置了丰富的性能监控指标,让企业能够在数据库宕机前发现潜在性能问题进行处理,减少企业因为数据库问题导致

2020-07-13 08:22:33 73

原创 MySQL高可用之PXC

PXC简介PXC(Percona XtraDB Cluster)是一个开源的MySQL高可用解决方案。他将Percona Server和XtraBackup与Galera库集成,以实现同步多主复制。基于Galera的高可用方案主要有MariaDB Galera Cluster和Percona XtraDB Cluster,目前PXC架构在生产线上用的更多而且更成熟一些。PXC相比那些传统的基于主从模式的集群架构MHA和双主,Galera Cluster 最突出的特点就是解决了诟病已久的复制延迟问题,基本上

2020-07-13 08:12:59 137

原创 MySQL高可用之MHA(二)

注:本文基于MySQL高可用之MHA配置VIPvip配置可以采用两种方式:1、通过keepalived的方式管理虚拟ip的浮动;2、通过脚本方式启动虚拟ip 的方式(即不需要keepalived或者heartbeat类似的软件)1、keepalived方式管理虚拟ip#在编译安装 Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库[root@master ~]# yum -y install kernel-deve

2020-07-13 08:06:15 35

原创 MySQL高可用之MHA

MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司 youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升 的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且 在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA里有 两个角色一个是MHA Node(数据节点)另一个是M

2020-07-13 07:57:19 229

原创 MySQL 高可用之MMM

一、MMM简介MMM即Multi-Master Replication Manager for MySQL:mysql多主复制管理器,基于perl实现,关于mysql主主复制 配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能 对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟ip,除此之外,它还有实现数 据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案 能实现服务

2020-07-13 07:41:55 65

原创 HAProxy+Keepalived实现Mycat高可用

在实际项目中,Mycat服务也需要考虑高可用性,如果Mycat所在的服务器出现宕机,或者Mycat服务故障,需要有备机提供服务,需要考虑Mycat集群。高可用方案:我们可以使用HAProxy+Keepalived配合两台Mycat搭起Mycat集群,实现高可用性。HAProxy实现了Mycat多节点的集群高可用和负载均衡,而HAProxy自身的高可用则可以通过Keepalived来实现。Mycat及主从可参考MySQL 中间件Mycat部署一、安装配置HAProxy[root@haproxy ~

2020-06-27 16:40:24 85

原创 mycat 读写分离+分库分表+全局表

一、mycat读写分离Mycat的读写分离是建立在Mysq的主从复制的基础上的#修改配置文件 schema.xml<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="false" sqlMaxLim

2020-06-22 08:51:20 134

原创 MySQL 中间件Mycat部署

什么是MyCat一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品一个新颖的数据库中间件产品为什么使用MyCat如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种 操作也是愈加的困难,传统的关系性数据库已经无

2020-06-21 07:18:53 114

原创 MySQL 高可用——双主

生产环境中一台mysql主机存在单点故障,所以我们要确保mysql的高可用性,即两台MySQL服务器如果其中有 一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 本节主要介绍了利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我 们必须保证两台M

2020-06-20 07:15:02 101

原创 xtrabackup 实现MySQL数据库备份

mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的 数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了。 这时就 需要一种好用又高效的工具,xtrabackup就是其中一款,号称免费版的InnoDB HotBackup。 Xtrabackup实现是 物理备份,而且是物理热备 目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup;ibbackup是商 业软件,需要授权,非常昂贵。而xtraba

2020-06-16 14:24:38 77

原创 MySQL 数据备份及恢复

MySQL备份一般采用全库备份加日志备份的方式,根据业务的需要,可以采用每周日凌晨1点进行完全备份以及每小时进行一次增量备份,这样在MySQL故障后可以使用完全备份和日志备份尽可能的去恢复最完整的数据。一、binlog日志恢复MySQL的二进制日志记录着该数据库所有增删改的操作日志(前提是需要自己开启binlog),还包括了这些操作的执行时间,binlog的使用场景无外乎就是主从同步以及恢复数据库。开启binlog功能,需要编辑MySQL的主配置文件,如下:1、查看二进制功能是否开启(如下,值为OFF

2020-06-09 07:56:52 68

原创 MySQL 分区分表

1、为什么要分表?数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。当出现这种情况时,我们可以考虑分表或分区。2、MySQL分表分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,每个表都对应三个文件

2020-06-04 07:36:09 62

原创 docker——简介+安装+基础命令+镜像加速+dockerfile

1.docker简介Docker作为开源社区最火爆的项目,它是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。2.Docker与虚拟机的区别传统的虚拟化技术的体系架构可见,我们在宿主机的操作系统上,可安装多个虚拟机,而在每个虚拟机中,通过虚拟化技术,实现了一个虚拟操作系统,随后,就可以在该虚拟操作系统上,安装自己所需的应用程序了。我们知道,启动虚拟机就像启动一台计算机,初始化过程是相当慢的,需要等很久,才能看到登录界面。一旦虚拟机启动以后,就可以与宿主机建立网络连接,确保虚拟机

2020-06-03 19:35:56 131

原创 MySQL 配置优化

MySQL参数优化对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系, 优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。 下面列出了对性能优化影响较大 的主要变量,主要分为连接请求的变量和缓冲区变量1、连接请求的变量1). max_connections MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当 然这建立在机器能支撑的情况下,因为如果连接数越多, MySQL会为每个连接提供连接缓冲区,就会开 销越多的

2020-06-02 08:17:12 157

原创 shell基础———复习篇(五)

1、什么是shell什么是shell’?Shell (外壳)是- 一个用C语言编写的程序,它是用户使用Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。什么是脚本?脚本简单地说就是一条 条的文字命令,这些文字命令 是可以看到的 (如可 以用记事本打开查看、編辑)。常见的脚本: JavaScript(js,前端,常见), VBScript, ASP, (JSP, PHP, 后端)(S

2020-06-02 08:10:58 67

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