自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 问答 (3)
  • 收藏
  • 关注

原创 十、Docker版Redis集群搭建

Redis集群(3主3从-docker配置案例)

2024-07-22 10:22:06 612

原创 九、小插曲之Redis面试题

本章节主要是理论知识讲解,静下心来看一边,就明白其中道理了。问题:1-2亿条数据需要缓存,请问如何设计这个存储案例解答:首先 数据很多,单台机器肯定不可能,肯定是分布式存储,那么用Redis如何落地呢?既然分布式,有6台服务器,那么数据存储时候怎么往这6台上分配呢?比方说v1存到了1号服务器,v2存到了2号服务器那么数据读的时候,是在哪个服务器读呢?

2024-07-17 16:19:59 777

原创 八、Docker版MySQL主从复制

【代码】八、Docker版MySQL主从复制。

2024-07-15 15:01:36 267

原创 七、Docker常规软件安装

现在版本是6.0,可能好多参数都不兼容。导致容器起不来,通过观察日志。看到报错,一个一个处理了。终于起来了,搞了半个小时呀,因为我是直接拷贝的原来的redis配置文件,之前版本是6.2多。当你容器删除时候,数据怎么办。是不是还得考虑数据丢失的问题。那么就需要挂载数据卷。所以,我们在创建MySQL实例时候,挂载数据卷,来解决数据丢失的问题。有个疑问,就是如果哪天把容器实例删除了,怎么办?是不是很简单,当你觉得简单时候,那就大错特错了。把这个容器干掉,我们重新创建容器实例。我们先把这个容器删除。

2024-07-08 09:22:45 481

原创 六、Docker容器数据卷

在讲解之前,先让大家避免一个坑,在第五章运行私有库的时候,加了一个 --privileged=true 参数那么为什么要加这个参数。因为Docker 在挂在主机目录访问时,会有一个报错权限不够,别拒绝,因此加上这个参数即可。就是权限扩容的意思。相当于宿主机的root权限,添加此参数需谨慎。

2024-07-05 09:57:42 369

原创 五、Docker本地镜像发布到私有库

【代码】五、Docker本地镜像发布到私有库。

2024-07-03 16:04:20 367

原创 四、本地镜像发布到阿里云

2、Dockerfile的方法,后续讲解。1、第三章使用的 commit 方法。2、选择控制台,进入容器镜像服务。6、将本地镜像推送到阿里云。

2024-07-01 09:30:47 333

原创 三、Docker镜像

是一种轻量级,可执行的独立软件包,它包含运行某个软件所需要的所有内容,我们把应用程序和配置依赖打包好,形成一个可交付的运行环境(包括代码、运行是需要的库、环境变量和配置文件),这个打包好的运行环境就是image镜像文件只有通过这个镜像文件才能生成Docker容器实例。

2024-06-27 09:02:07 336

原创 二、Docker常用命令

有镜像才能创建容器,本次演示使用Ubuntu镜像,先拉取镜像。

2024-06-25 09:29:43 155

原创 一、docker简介及卸载、安装

Docker: 开源的容器虚拟化平台Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 – Docker Hub。

2024-06-21 09:24:02 1292

原创 六、Nginx-正向代理和反向代理

假设 我们想要访问国外的网站,此时你会发现国外的网站我们通过浏览器是无法访问的,这时大家可能都会用一个操作翻墙进行访问,翻墙的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!正向代理,意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。反向代理指的是位于客户端与服务端之间的代理服务器。

2024-06-17 10:00:47 956

原创 五、Nginx配置文件-server模块

虚拟主机,就是把一台物理服务器划分成多个 “虚拟” 的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。Nginx 提供虚拟主机的功能,就是为了让我们不需要安装多个 Nginx,就可以运行多个域名不同的网站。或者虚拟主机技术是将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。Nginx 下,一个 server 标签就是一个虚拟主机。

2024-06-14 09:41:06 1298 4

原创 四、Nginx配置文件-负载均衡

此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。例如,如果有3台后端服务器,Nginx会将第1个请求分发给服务器A,第2个请求分发给服务器B,第3个请求分发给服务器C,然后循环重复。该指令是用来定义一组服务器,它们可以是监听不同端口的服务器,并且也可以是同时监听TCP和Unix socket的服务器。加权轮询方式可以根据后端服务器的性能配置不同的权重,来调整请求的分发比例。预留的备份服务器,当主服务器不可用时,将用来传递请求。

2024-06-12 16:55:36 1132 2

原创 三、Nginx配置文件

Nginx中日志的类型分为 access.log、error.log。access.log:用来记录用户所有的访问请求。Nginx服务器支持对服务日志的格式、大小、输出等进行设置,需要使用到两个指令,分别是access_log和log_format指令。access_log:用来设置用户访问日志的相关属性。语法默认值位置log_format:用来指定日志的输出格式。语法默认值位置http#日志相关定义#定义日志的格式。后面定义要输出的内容。

2024-06-05 16:11:28 968

原创 二、Nginx目录结构与基本运行原理

我们使用tree 命令查看nginx的目录。如果tree 命令失效,需要安装tree工具。

2024-06-03 10:26:01 238

原创 一、Nginx详解和安装

Nginx是一款轻量级的Web服务器,反向代理服务器,特点是占用内存少,并发能力强,启动速度快等特点。Nginx专为性能优化而开发,使用异步非阻塞事件驱动模型。

2024-05-27 15:31:04 784

原创 一、Elasticsearch介绍与部署

是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供API接口,可以处理大规模日志数据,比如:Nginx 、Tomcat、系统日志等功能。bin 可执行脚本目录config 配置目录jdk 内置 JDK 目录(ES是采用Java语言开发的)lib 类库logs 日志目录modules 模块目录plugins 插件目录解后,进入 bin 文件目录,点击 elasticsearch.bat 文件启动 ES 服务。

2024-05-24 10:25:23 740

原创 七、alertmanager介绍及部署

在我们的灾备体系中,当原有集群故障宕机业务彻底无法访问的时候,会把用户流量切换到备份集群中,这样为故障集群及其提供的各个微服务状态发送警报机会失去了意义,此时, Alertmanager 的抑制特性就可以在一定程度上避免管理员收到过多无用的警报通知。2、停止node_exporter,当停止之后,根据规则配置,告警会触发 == 0 ,出发之后会发送告警信息给alertmanager,alert manager收到告警信息之后,会检查配置,然后发送邮件给相应负责人。当停止之后,有三种状态 ,详见第6步。

2024-05-22 10:16:48 1018

原创 六、Prometheus服务发现

Prometheus默认是采用pull的方式拉取监控数据的,每一个被抓取的目标都要暴露一个HTTP接口,prometheus通过这个接口来获取相应的指标数据,这种方式需要由prometheus-server决定采集的目标服务器有哪些,通过配置在scrape_configs中的各种job来实现,无法动态感知新服务,如果后面新增了节点或组件,就需要手动修改prometheus配置,然后重启服务或重新加载配置,所以出现了动态服务发现。每次增加exporter修改Prometheus.yml估计早就烦了。

2024-05-21 09:27:09 436

原创 五、prometheus监控

在需要被监控的服务器上安装node_exporter安装步骤详见第一步修改prometheus 配置文件。

2024-05-20 09:31:17 197

原创 四、PushGateWay

Pushgateway是Prometheus的一个组件,prometheus server 默认是通过Exporter 主动获取数据,Pushgateway则是通过exporter主动方式推送数据到Pushgateway,再由Prometheus 主动去拉取Pushgateway数据,用户可以写一个自定义的监控脚本把需要监控的数据发送给Pushgateway。job是必须参数,label_name部分是可选的,URL中的job和label组合唯一标识pushgateway中Group。

2024-05-17 10:08:31 685 1

原创 三、安装node_exporter

Exporter是Prometheus的指标数据收集组件。它负责从目标Jobs收集数据,并把收集到的数据转换为Prometheus支持的时序数据格式。和传统的指标数据收集组件不同的是,他只负责收集,并不向Server端发送数据,而是等待Prometheus Server 主动抓取。

2024-05-15 10:07:49 359

原创 二、安装、使用Grafana

import 模板ID需要机器能够上网,如果机器不能上网通过导入json文件完成。推荐模板ID 1860、15172(基于11074模板做的优化)数据源选择prometheus。Json文件上传11074模板。导入下载好的json文件。一、安装Grafana。创建systemd服务。访问grafana前端。二、使用grafana。ID导入1860模板。

2024-05-13 16:11:01 404

原创 一、Prometheus介绍及部署

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)global:alerting:- targets:# 抓取配置列表# node_exporter配置labels:instance: Prometheus服务器labels:instance: test主服务器。

2024-05-11 14:43:19 1004

原创 ETL-kettle数据转换及组件使用详解

数据库连接这里 点击新建连接,配置数据库连接信息,点击测试连接,看是否成功,如果报错,看是否世缺少jdbc的驱动,去MySQL官网下载对应的驱动即可。(3)按住Shift键点击 文本文件输入组件,移动鼠标到Excel输出,然后释放鼠标,这样就可以将两个组件连接到一起。(2)点击「字段」选项卡,获取字段,将age的格式设置为0,表示只输出不带小数点的数字。(2)点击「增加」按钮,将文件加入到要抽取的数据中来。(2)安装Shift键,并鼠标左键点击表输入组件,并拉动鼠标,移动到表输出组件,松开鼠标。

2024-05-10 14:42:36 1487

原创 Linux 之 tail 命令

是可选参数,用于定制命令的行为,则是要处理的目标文件名。

2024-05-09 10:44:08 537

原创 十九、分布式数据库MyCat

它是一个开源的分布式数据库系统,可以理解成 Mycat 就是MySQL Server,而Mycat 后面连接的MySQL Server,就好象是MySQL 的存储引擎,如InnoDB,MyISAM 等,因此,Mycat 本身并不存储数据,数据是在后端的MySQL 上存储的,因此数据可靠性以及事务等都是MySQL 保证的。

2024-05-08 11:07:52 1442

原创 linux 之 cat 命令

lLinux 的cat命令是一个非常实用的文本查看工具,它常用于查看或合并文件内容。查看文件内容:可以使用cat命令来查看文件的内容,例如:cat filename。合并多个文件:cat命令还可以将多个文件合并为一个文件。创建新文件:可以使用cat命令创建一个新文件并向其中写入内容。在屏幕上显示文件:可以使用cat命令将一个文件在终端屏幕上逐行显示出来。去除空行和重复行:可以使用cat命令结合管道符和其他命令(如grep、sort等)来去除文件中的空行或重复行。

2024-05-07 11:05:43 324

原创 九、redis过期策略

redis过期删除策略是采用惰性删除和定期删除两种方式组合进行的,惰性删除能够保证过期的数据我们在获取时一定获取不到,而定期删除设置合适的频率,则可以保证无效的数据及时释放,而不会一直占用内存但是redis是部署在物理机上的,不可能一直无限扩充内存,当内存达到我们的设定的界限后,便会自动触发redis的内存淘汰策略。

2024-05-07 09:43:32 883 1

原创 八、Redis集群模式(3主3从)

【代码】八、Redis集群模式(3主3从)

2024-05-06 10:49:45 294 1

原创 七、Redis高可用(哨兵模式Sentinel)

当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器;Sentinel(哨兵)是Redis的高可用性的解决方案,有一个或多个Sentinel示例组成的Sentinel系统可以监视任意多个主节点,以及这些主节点的从节点,并在被监视的主节点下线时,自动将下线的主节点下的某个从节点升级为新的主节点,然后由新的主节点代替已下线的主节点继续处理命令请求。开启sentinel。

2024-04-14 16:30:00 621

原创 六、Redis主从复制实现

Redis支持主从复制,分为全量同步和增量同步,首次是全量同步,redis主从同步是非阻塞的,其收到从服务器的sync命令后 会fork一个子进程在后台执行bgsave命令,并将新写入的数据写入到一个缓冲区里面,bgsave执行完成之后并把生成的RDB文件发送给客户端。客户端将收到的RDB文件存入自己的内存,然后主redis将缓冲区的内容在全部发送给从redis,之后的同步从服务器会发送一个offset的位置,等同于mysql的binlog的位置,给主服务器。

2024-04-12 09:36:31 450

原创 五、Redis 集群搭建

【代码】五、Redis 集群搭建。

2024-04-10 09:37:34 436

原创 四、Redis配置文件详解

【代码】四、Redis配置文件详解。

2024-04-08 09:59:40 242

原创 三、Redis持久化

但是Redis还有一个机制,可以自动的扫描AOF文件,并且把冗余的操作进行合并,该机制由bgrewriteof命令实现,该命令在执行后,会将Redis中的数据以命令的方式保存起来,并替换原有的文件。具体实现过程:Redis主进程先fork出一个子进程,子进程将内存的数据保存为一个临时文件,然后将临时文件写入到磁盘上中,最后用这个临时文件替换原来的RDB文件。默认启动的数据持久化方式,基于时间的快照,只保留当前最新的一次快照,根据配置文件指定策略,它定期将内存中的数据快照到磁盘上的二进制文件。

2024-04-07 09:46:06 451

原创 二、Redis基本操作

Redis的列表是一个线性结构,可以在左边和右边对该线性结构进行操作,操作可以是新增内容,删除内容等等。redis服务启动之后,默认的端口是6379。

2024-04-05 20:45:00 267

原创 一、Redis基础知识与安装

Redis,是一个开源的、遵循BSD协议的、基于内存和基于键-值类型的非关系型数据库。易扩展、高性能、具备数据持久化等功能。

2024-04-03 13:15:00 435

原创 十八、Percona Toolkit工具

percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括:1)检查master和slave数据的一致性2)有效地对记录进行归档3)查找重复的索引4)对服务器信息进行汇总5)分析来自日志和tcpdump的查询6)当系统出问题的时候收集重要的系统信息percona-toolkit源自Maatkit和Aspersa工具,这两个工具是管理mysql的最有名的工具。

2024-04-01 12:30:00 1283

原创 十六、MySQL日志之Slow Query Log(慢查询日志)

慢查询还有一些系统变量,这个变量的意思是,查询扫描过的最少记录数。如果查询扫描过的记录数大于等于这个变量的值,并且查询执行时间超过了long_query_time设定的阈值,那么这个查询就会被记录到日志中。MySQL的慢查询日志,是用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql,则会被记录到慢查询日志中去。默认情况下MySQL没有开启慢查询日志,如果不是调优需要的话,不建议开启,因为开启之后或多或少会带来一些性能影响。一、什么是慢查询日志。

2024-03-30 15:45:00 282

原创 十七、InnoDB 一次更新事务的执行过程

InnoDB的一次更新事务涉及到多个组件和步骤,包括Buffer Pool、BinLog、UndoLog、RedoLog以及物理磁盘。

2024-03-30 15:45:00 1448

空空如也

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

TA关注的人

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