自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

喝醉酒的小白

你是最好的自己。

  • 博客(1873)
  • 资源 (3)
  • 收藏
  • 关注

原创 Postgres优化数据库服务端性能 -- 未完待续

硬件层面主要包括CPU、I/O、内存及网络等影响因素。软件层面的影响因素则要复杂得多,主要包括操作系统、数据库中间件、文件系统等。值得一提的是,数据库本身的配置参数优化有时会产生预想不到的效果。

2023-12-17 23:01:19 575

原创 tcpdump抓包分析网络流量 & 网络知识交流 -- 不停更新中!

当发送方收到不合法的、意外的或无法识别的数据包时,可以发送 RST 给对方来中断当前的连接。:重传是指在网络通信中,如果发送方没有收到对应的确认消息或者接收方检测到数据包丢失,就会重新发送相同的数据包给接收方。在使用TCP协议的情况下,当一个数据包丢失时,发送端会重新发送该数据包,以确保数据的完整性。总结来说,网络层的路由表是一种用于确定数据包传输路径的数据结构,它存储了网络层地址和相应的下一跳信息,帮助路由器选择正确的路径将数据包从源主机传输到目标主机。: MTU指的是网络中能够传输的最大数据包大小。

2023-11-28 21:20:44 2991

原创 K8S知识图谱

Kubernetes集群组件

2022-07-12 23:18:48 1919 5

原创 喝醉酒的小白

不谋全局者,不足以谋一域;不谋万世者,不足以谋一时。

2020-12-25 14:37:45 8848

原创 CSI和PV

在Kubernetes中,CSI(容器存储接口)插件用于管理持久卷(PV)的生命周期,包括创建、删除和扩容等操作。根据搜索结果中的,CSI架构主要包括两个关键组件:Controller Service和Node Service。在你提供的命令输出中,是Controller组件,而和是Node组件。因此,控制生成PV的组件是,即Controller组件。

2024-09-25 20:29:44 311

原创 Patroni官方给出的流程图

这是Patroni初始化和启动的过程,包括数据库的初始化以及在分布式协调服务(如etcd)中持久化节点状态。:当一个节点被创建或加入集群时,它会执行一系列操作以确保其能够正常运行并与其他节点同步。这包括从其他节点拉取必要的数据和配置信息。:Patroni会持续监控集群的健康状态,一旦检测到主节点故障,它会自动执行故障恢复操作,将其中一个从节点晋升为主节点。:如果某个节点出现故障,Patroni会通过watchdog机制进行探测,并在必要时重置该节点的状态,以保证集群的一致性和高可用性。

2024-09-25 20:28:35 516

原创 查看进程的准确启动时间

在Linux系统中,您可以通过几种方法查看进程的准确启动时间。

2024-09-25 20:28:19 80

原创 pod has unbound immediate PersistentvolumeClaims

如果没有启用DefaultDefaultStorageClass功能,那么没有指定StorageClassName的PVC只能被绑定到同样没有指定StorageClassName的PV。:即使PVC已经存在,但如果对应的PersistentVolume(PV)尚未准备好或不可用,Pod也无法绑定到该PV。:在某些情况下,调度器可能未能选择一个合适的节点来运行Pod,从而导致Pod无法绑定到PV。:在使用动态提供者时,如果存在配置错误或者PV与PVC不匹配,也会导致Pod无法绑定到PV。

2024-09-25 20:28:04 179

原创 更新Docker

在替换之前,您需要确保Docker服务已经停止,以避免运行中的服务干扰替换过程。为了安全起见,在替换之前备份当前的Docker环境。将新版本的Docker二进制文件复制到系统路径中。通常,这些文件位于/usr/bin/目录下。确保新复制的二进制文件具有执行权限。验证新版本的Docker是否安装成功。启动Docker服务以使用新版本。检查Docker服务是否正常运行。(可选):如果确认新环境工作正常,您可以选择删除旧的备份文件以释放空间。

2024-09-25 20:27:48 632

原创 检测死锁的机制

PostgreSQL(PG)检测死锁的机制主要基于等待图(WFG, wait-for graph)和超时设置。:当一个事务在尝试获取资源时,如果未能立即获得所需的锁,并且进入睡眠状态,计时器会触发死锁检测。在此过程中,系统会构建一个有向图,称为等待图(WFG),其中顶点代表申请加锁的进程,边表示依赖关系(即等待关系)。:在等待图中定义了两种类型的边:硬边(hard edge)和软边(soft edge)。硬边表示直接的等待关系,而软边则表示间接的等待关系。通过深度优先遍历这两种边形成的等待图,可以发现环路。

2024-09-25 20:27:28 453

原创 patroni高可用测试

【代码】patroni高可用测试。

2024-09-25 20:26:56 163

原创 PG逻辑订阅功能

表的复制标识设置正确。存储过程逻辑正确。存储过程能够成功执行。如果在执行过程中遇到任何错误,请记录错误信息并进一步排查。检查日志分析数据库日志,查看是否有更多详细信息。检查权限确保执行存储过程的用户具有足够的权限。检查依赖确保所有依赖的服务和组件都正常运行。通过这些步骤,应该能够解决更新表时遇到的问题。如果还有其他问题,请提供更多信息。订阅信息:数据库中没有配置订阅,和查询均返回空结果。流复制状态查询显示存在活跃的流复制进程,表明数据库复制正在运行。复制插槽。

2024-09-25 20:26:33 593

原创 pg_start_backup

pg_start_backup()函数在主库上发起一个在线备份,命令执行成功后,将数据文件拷贝到备份接口中。

2024-09-21 16:25:40 339

原创 deadlock detected

根据提供的报错信息和我搜索到的资料,PG数据库报错"deadlock detected"是由于两个事务(Process 3913996和Process 28657)在执行DELETE操作时相互等待对方持有的锁,导致死锁。从我搜索到的资料中,我们可以推断,在需要确保所有应用遵循一致的锁获取顺序以避免死锁的场景下,无论是咨询锁还是表级锁,只要它们能够被正确地管理并遵循一致的获取顺序,理论上都能有效避免死锁。建议在代码中尽量以一致的顺序获取对象上的锁,避免事务中SQL交互执行,从而降低死锁发生的概率。

2024-09-21 11:54:19 1201

原创 Linux套接字

套接字是实现网络通信的核心组件,它提供了灵活且强大的接口,使得开发者能够轻松地在网络环境中构建复杂的应用程序。无论是TCP还是UDP协议,都可以通过适当的套接字类型来满足不同的通信需求.

2024-09-15 16:21:48 1356

原创 F5设备绑定EIP

公网IP(Public IP Address)是指可以直接在互联网上访问的IP地址,用于标识网络上的设备或主机。它允许外部网络访问您的云服务器,如提供远程登录服务、访问Web服务器等。然而,这并不意味着公网IP不需要路由。在局域网(LAN)中,由于发送方和接收方位于同一网络中,因此无需定位接收方,所以不需要路由。但在广域网(WAN)上,找到目的地是一个重要任务。IP协议用于查找通往目的地的路由,它是TCP/IP套件的一部分,是一种无连接的协议。

2024-09-15 16:19:18 268

原创 PG表空间

在PostgreSQL中创建和管理自定义表空间的步骤如下:使用命令来创建一个新的表空间。其中,是自定义的表空间名称,不能以“pg_”开头;user_name是表空间所属用户名称;directory是表空间的位置。假设我们想要创建一个名为tbs_data的表空间,并将其位置设置为/data/dbs目录下。首先需要确保该目录存在且具有适当权限。然后,授予postgres用户对/data/dbs在创建数据库时,可以指定默认表空间。这样,所有未明确指定表空间的对象都会存储在这个表空间中。

2024-09-15 16:17:32 1263

原创 `character_set_server` 和 `collation_server`

首先,需要确保所选的字符集能够支持所有使用的语言。MariaDB从10.6.4版本开始,默认字符集已经从latin1更改为utf8mb3,这表明utf8mb3是一个较好的选择,因为它支持广泛的字符集。虽然utf8mb3提供了较好的字符集支持,但使用特定的字符集可能会影响查询性能或与某些应用程序的兼容性。这限制了在运行时直接更改字符集的可能性,因此对于大量表的修改,通常建议通过导出导入的方式来更新表的字符集和排序规则。主要影响新创建的数据库、表和列的字符集和排序规则,而对已存在的对象没有直接影响。

2024-09-15 16:13:37 1242

原创 cannot be sharded on

在 MongoDB 中,mongos实例是 MongoDB 路由器,它负责分发客户端请求到正确的分片。mongos实例通常不直接与数据交互,而是将请求转发到配置服务器和分片服务器。因此,当你尝试使用mongos连接到具体的分片节点时,可能会遇到权限问题,因为mongos使用的用户可能没有在分片节点上的相应权限。adminlogmongos如果rwuser用户没有在分片节点上创建,你需要在每个分片节点上创建用户。这通常在分片集群的每个分片节点上单独进行。请确保替换shardHostshardPort。

2024-09-13 22:41:49 467

原创 MyISAM 存储引擎

MyISAM 存储引擎不支持在线备份的原因主要是因为它不支持事务处理,也没有像 InnoDB 那样的崩溃恢复机制。MyISAM 表的备份通常需要锁定整个表,这会导致在备份过程中无法进行数据的增删改操作。而 XtraBackup 工具主要设计用于支持事务的存储引擎,如 InnoDB,它可以通过记录日志序列号(LSN)和应用重做日志(redo logs)来实现数据的一致性备份,而不需要锁定整个数据库。对于 MyISAM 表,XtraBackup 通过脚本支持备份,但这需要在。

2024-09-13 08:29:06 418

原创 FEDERATED引擎

综上所述,FEDERATED引擎适用于需要跨数据库服务器进行数据访问且对性能要求不高的场景,但在高并发读写和需要事务支持的场景下应谨慎使用。

2024-09-12 21:42:09 426

原创 binlog的刷新和清除机制

在MySQL 8.0.28及以上版本中,为了安全清除binlog文件,需要先在每个副本上检查其正在读取的日志文件,然后确定所有副本中最旧的日志文件,再进行清除。命令手动清除binlog文件。这个命令可以在指定时间或指定文件名之前清除binlog文件。:binlog的刷新和清除并不是立即执行的,而是有特定的触发条件。系统变量控制的,默认情况下是开启的(ON)。:binlog的自动清除是由。

2024-09-12 21:41:30 558

原创 Oracle 进程的内存使用情况

要使用ps命令按照内存占比(%mem)排序来查看 Oracle 进程的内存使用情况,你可以使用sort命令来对ps命令的输出结果进行排序。grep ora_ora_-r请注意,%mem列显示的是进程使用的物理内存占系统总物理内存的百分比。这个命令假设你的系统中 Oracle 进程的名称中包含ora_字符串。如果 Oracle 进程的名称不同,你需要相应地调整grep命令中的模式。在执行这个命令之前,请确保你有足够的权限来查看所有进程的信息。如果没有,你可能需要使用sudo来获取更高的权限。

2024-09-12 21:40:59 390

原创 卸载Docker

在卸载 Docker 或 Nginx 之前,备份重要数据和配置是一个非常重要的步骤。

2024-09-11 23:46:27 676

原创 使用patch命令移除sts中的一个container

请确保在执行任何 patch 操作之前备份你的 StatefulSet 配置,并且理解这些更改可能对运行中的应用程序产生的影响。要确认 StatefulSet 中容器的名称和它们在列表中的位置,你可以使用。,这是一个强大的 JSON 处理工具。这将列出 StatefulSet 中所有容器的名称。一旦你知道了要移除的容器的确切名称,你可以构造。这里会列出所有的容器名称和它们的配置。为你的 StatefulSet 的名称。字段,这将显示容器的名称。,你可以通过你的包管理器安装它。是列表中的第一个容器,而。

2024-09-11 23:46:10 872

原创 MongoDB Oplog 窗口

在 MongoDB 中,oplog(操作日志)是一个特殊的日志系统,用于记录对数据库的所有写操作。oplog允许副本集成员(通常是从节点)应用主节点上已经执行的操作,从而保持数据的一致性。它是 MongoDB 副本集实现数据复制的基础。

2024-09-10 23:59:11 713

原创 MongoDB日志级别

如果你不确定应该设置哪个日志级别,或者如何配置 MongoDB 的日志系统,你可能需要咨询你的数据库管理员或参考 MongoDB 的官方文档。请注意,更改日志级别可能需要 MongoDB 重启才能生效,或者你可能需要等待当前的日志文件被新的日志覆盖。如果没有返回日志级别的信息,可能是因为 MongoDB 没有配置日志级别或者使用了默认的日志级别。在这种情况下,你可能需要检查你的 MongoDB 版本,并查阅相应版本的官方文档来获取正确的命令。,这意味着命令执行失败,没有成功获取到日志级别的配置信息。

2024-09-10 23:58:51 777

原创 rs.stepDown()

命令是一个重要的维护工具,它可以在需要时触发主节点的变更。这个过程需要仔细的规划和监控,以确保服务的可用性和数据的一致性。管理员应该准备好处理可能出现的任何问题,并确保所有客户端都能够适应新的拓扑结构。命令后 MongoDB 副本集的日志信息。好的,让我们更详细地分析执行。

2024-09-10 23:58:20 454

原创 replSetMaintenanceMode 和 replSetFreeze

它不会影响主节点的正常操作,也不会影响副本集的数据一致性。在执行任何维护操作之前,始终确保你有最新的数据备份,并且了解你的操作可能对副本集的影响。强制自管理副本集成员成为主节点:https://www.mongodb.com/zh-cn/docs/manual/tutorial/force-member-to-be-primary/在主节点上执行会导致错误,因为主节点需要继续处理写操作和协调副本集的选举过程。这将冻结从节点的选举过程,使其在指定的秒数内不会尝试成为主节点。命令,你需要确保它在从节点上执行。

2024-09-10 23:58:00 253

原创 MongoDB延迟查询

如果你想要持续监控副本集的延迟,你可以定期运行这些命令,或者使用 MongoDB 的监控工具,如 MongoDB Cloud Manager 或第三方监控解决方案。如果你发现延迟异常高,可能需要检查副本集成员的性能和配置。这个命令提供了一个更易于阅读的副本集状态报告,包括每个成员的延迟信息。这个命令提供了副本集的详细状态信息,包括每个成员的延迟情况。是一个 Timestamp 对象,表示最后应用的操作的时间。这个命令会打印出副本集的状态信息,包括每个成员的延迟。字段,显示了该成员最后应用的操作的时间戳。

2024-09-10 19:28:15 767

原创 CreateContainerError

查看磁盘是否有坏道尝试修复?

2024-09-09 22:19:51 101

原创 (error) ERR auth permission deny

每个用户可以拥有不同的权限,这样可以限制用户对特定数据的访问,或者允许用户只执行特定的操作。创建用户的具体步骤可能会根据你使用的 Redis 版本和配置有所不同,但一般来说,你可以在 Redis 配置文件中设置密码,或者使用 ACL(访问控制列表)来创建和管理用户。请注意,创建用户和设置权限是一个敏感操作,应该谨慎进行,以确保不会意外地授予过多的权限或暴露敏感数据。如果你的 Redis 版本不支持 ACL,你可能需要使用其他方法来管理用户权限。你可以通过命令行使用新创建的用户凭证来测试连接。

2024-09-08 11:58:21 206

原创 配置 NodePort 透传模式

在 Kubernetes 中,NodePort 服务是一种将流量从外部网络路由到集群内部 Pod 的方式。默认情况下,NodePort 服务会通过集群的内部网络(如 Pod 网络)进行路由,但有时候你可能需要让流量直接从节点透传到 Pod,绕过容器网络。这通常在某些特定的网络配置或性能优化场景中会有需求。

2024-09-08 11:55:54 391

原创 Kafka的权限配置中,匹配模式

这种模式下,Kafka会尝试完全匹配资源的名称(例如主题或消费者组)与ACL中指定的资源名称。这两种模式在Kafka的ACL配置中都有应用,可以根据实际需求选择合适的匹配模式。这种模式下,Kafka会匹配资源名称的前缀,而不是完全匹配。

2024-09-08 11:55:15 401

原创 Filebeat、Logstash和Fluentbit -- Kafka

Filebeat、Logstash和Fluentbit是三种常见的日志采集工具,它们都可以与Kafka进行集成,以实现日志数据的高效传输和处理。

2024-09-08 11:53:26 1075

原创 Mysql 的uuid函数,openGuass咋兼容?

dolphin插件原理。

2024-09-08 11:52:12 171

原创 slabinfo

slabinfo通常指的是 Linux 内核中的一个内存管理组件,称为 Slab 分配器的信息。Slab 分配器是 Linux 内核用来管理内核对象(如进程描述符、文件对象等)内存分配和释放的一种机制。它通过缓存(slab cache)来减少内存碎片,并提高内核对象创建和销毁的效率。在 Linux 系统中,你可以通过查看文件来获取 Slab 分配器的详细信息。要查看。

2024-09-08 11:51:18 676

原创 使用`lsof`命令找回被`rm`删除的文件

需要注意的是,这种方法仅适用于文件被删除后仍被某个进程占用的情况。如果文件没有被任何进程占用,或者进程已经关闭,那么这种方法将无法恢复文件。命令来查找所有已删除但仍被进程占用的文件。这样可以列出所有符合条件的文件及其相关信息,包括进程ID(PID)、用户、文件描述符等。删除的文件的步骤包括查找已删除的文件、确认特定文件、恢复文件和验证恢复的文件。恢复文件后,可以通过查看文件内容或使用相关命令来验证文件是否完整和正确。来查找特定文件的相关信息。如果你知道被删除文件的名称,可以使用。

2024-09-08 11:50:42 321

原创 the necessary thread resources for parallel query execution

SQL Server 报错 “the necessary thread resources for parallel query execution” 通常意味着服务器上没有足够的线程资源来执行并行查询。这可能是由于服务器负载过高,或者并行度(MAXDoP)设置得过高导致的。

2024-09-08 11:48:51 945

原创 http: Accept error: accept unix /var/run/docker.sock: accept4: too many open files; retrying in 1s

请注意,由于套接字文件是内存中的实体,它们不会像磁盘上的文件那样有一个固定的路径。它们通常由系统动态创建,并且只能在创建它们的进程或者通过特定通信机制与之交互的进程中被访问。这些套接字文件在文件系统中并不以常规文件的形式存在,而是在内存中,它们通常关联到某个特定的进程或者服务。在 Linux 系统中,每个进程都有一个可以打开的文件描述符的限制,这个限制可以通过。查看,并且每个用户也有一个可以打开的文件数量的限制,这个限制可以通过。如果你知道这个套接字是一个监听套接字,你可以使用。

2024-09-08 11:48:17 772

iperf2的安装包压缩包

iperf2的安装包压缩包

2024-08-28

perccli和storcli

perccli和storcli

2024-06-06

iperf3的安装包压缩包

iperf3的安装包压缩包

2024-02-27

perccli 工具安装包

perccli 工具安装包

2023-08-11

expscott.dmp

expscott.dmp

2021-10-23

dumpscott.dmp

dumpscott.dmp

2021-10-23

StudentManagerSSM.rar

SSM:spring+springMVC+mybaits Spring:是一个容器,就是一个bean(实体对象)大集合。 JavaBean SpringMVC:控制器(业务逻辑层)(视图分发器)。 Mybaits:jdbc的封装(数据库框架)Mapper.xml

2020-08-06

空空如也

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

TA关注的人

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