iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >分布式 | ddl 失败在 dble 中排查过程
  • 240
分享到

分布式 | ddl 失败在 dble 中排查过程

分布式|ddl失败在dble中排查过程 2015-06-19 18:06:58 240人浏览 无得
摘要

作者:冒飞 爱可生 dble 项目测试组成员,负责 dble 相关测试工作,拥有多年数据库中间件测试经验,擅长故障排查及性能调优。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 思

分布式 | ddl 失败在 dble 中排查过程

作者:冒飞 爱可生 dble 项目测试组成员,负责 dble 相关测试工作,拥有多年数据库中间件测试经验,擅长故障排查及性能调优。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


思考一个问题:

当我们用 dble 执行一个 ddl hang 住时,我们该如何下手,如何找到这条 ddl hang 住的原因?是我们自己的操作导致还是踩中了 dble 的 bug ?

下面我们从一个简单的场景着手来分析这个问题:

场景:对 shanging_4_t1 这张表执行 alter,结果 hang 住了

分析第一步:查看 dble 日志看是否有报错?

结果找到这个告警,报错信息跟我们观察到的现象是一致的。

分析第二步:查看这个日志的上下文,找出这个阶段 dble 都做了什么,问题可能出现在哪个阶段?

如果日志信息比较多,我们可以简单删选一下。

命令:less dble.log|grep DDL

从上面的信息我们大概可以看出,这个语句要发往 4 个分片,且这条 ddl 在 dble 执行中包括 2 个步骤。

  • 步骤一:测试连接可用性

  • 步骤二:真正下发 ddl

日志中可以很明显的看出,步骤一验证连接都成功完成了,但其中一个节点执行语句的状态一直处于 start。

根据提示出问题的 connection 为 23,可以定位到问题所在的 datanode:dn2。

同时可以找到在对应节点上的 Mysql线程号:29。

分析步骤三:连接日志中提示的出问题的 mysql 节点上,执行 show @@processlist

可以看出该节点上的 ddl 在等待一把。分析到这一步,我们大概已经知道该 ddl 执行 hang 住的原因了,是因为其中一个节点上该语句的在等待锁的释放,无法成功返回结果。

总结

当在 dble 上遇到 ddl 执行失败的时候,我们的排查步骤大致为:

  1. 观察 dble 日志,查找是否有相关的报错或告警。
  2. 查找报错或告警的上下文,简单的理解 dble 的处理机制,找到该问题出现的环节。
  3. 根据日志提示进一步到对应节点上查找原因。
您可能感兴趣的文档:

--结束END--

本文标题: 分布式 | ddl 失败在 dble 中排查过程

本文链接: https://www.lsjlt.com/news/6334.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nigix代理失败的排查过程
    背景 在刚开始迁移的过程中,由于经常进⾏部署实验,需要⽅便进⾏dns解析更换IP的操作,在预发布域名解析中申请了七层负载均衡的vip,通过vip来调整具体的解析ip 问题 这时问题就发⽣了,在后⼀个版本开发的过程中,前端发现部署到预发布后,...
    99+
    2023-09-20
    nginx 服务器 java 后端
  • Kubernetes中Nginx服务启动失败排查流程分析(Error: ImagePullBackOff)
    ❌pod节点启动失败,nginx服务无法正常访问,服务状态显示为ImagePullBackOff。 [root@m1 ~]# kubectl get pods NAME ...
    99+
    2023-03-14
    Nginx启动失败 Kubernetes中Nginx服务启动失败
  • 如何在PostgreSQL中实现分区表和分布式查询
    要在PostgreSQL中实现分区表和分布式查询,可以使用以下方法: 使用分区表:PostgreSQL支持表分区,可以根据特定的...
    99+
    2024-03-14
    PostgreSQL
  • 解决Android加壳过程中mprotect调用失败的原因分析
    目录问题原由调用mprotect修改内存失败的现象mprotect调用失败的原因分析两种可行的解决方案小结问题原由 函数抽取壳是当前最为流行的DEX加壳方式之一,这种加壳方式的主要流...
    99+
    2024-04-02
  • PHP分布式异步编程:如何在Linux系统中实现分布式计算?
    PHP是一种流行的服务器端编程语言,广泛应用于Web开发。但是,PHP也可以用于分布式计算,通过将计算任务分配给多台计算机来加速计算。本文将介绍如何在Linux系统中使用PHP进行分布式异步编程。 一、什么是分布式计算? 分布式计算是一种...
    99+
    2023-11-07
    分布式 异步编程 linux
  • Golang函数式编程在分布式系统中的应用
    函数式编程在分布式系统中的应用包括:高阶函数:可创建可重用组件和简化代码。不可变性:防止并发问题和数据竞争。纯函数:易于测试和使用。通过结合 map、filter 等函数,可以实现并行且...
    99+
    2024-04-14
    golang 函数式编程
  • ASP分布式编程中函数的应用,你学过吗?
    随着互联网技术的快速发展和应用,人们对于网站的要求越来越高,开发人员也面临着更加复杂的开发环境和更高的开发要求。在这样的环境下,ASP分布式编程技术应运而生,成为了一种非常重要的开发方式。在这种技术中,函数的应用尤为重要,下面我们就一起来...
    99+
    2023-06-14
    分布式 面试 函数
  • 如何在分布式系统中运用 Python 编程?
    分布式系统是现代计算机系统中的重要组成部分,可以用于数据处理、分析、存储等多种应用场景。Python 作为一门简单易学且功能强大的编程语言,可以在分布式系统中发挥重要的作用。在本文中,我们将介绍如何在分布式系统中运用 Python 编程,并...
    99+
    2023-09-16
    编程算法 分布式 linux
  • Golang 函数在分布式系统中的并行编程
    在分布式系统中,go 函数通过 goroutine 和 channel 实现并行编程,显著提升系统性能。goroutine 是轻量级线程,由 go 关键字启动,可以在不同 cpu 内核上...
    99+
    2024-04-19
    并发编程 分布式系统 golang 高可扩展性
  • Java在分布式系统中的异步编程实践?
    Java在分布式系统中的异步编程实践 随着分布式系统的快速发展,异步编程已经成为了分布式系统中非常重要的一部分。Java作为一种广泛应用于分布式系统的编程语言,其异步编程技术也备受关注。在本文中,我们将探讨Java在分布式系统中的异步编程实...
    99+
    2023-10-15
    分布式 linux 异步编程
  • ASP技术如何优化打包过程中的分布式计算?
    随着互联网技术的飞速发展,越来越多的企业开始将自己的业务上云。云计算作为一种新型的计算模式,其分布式计算的优势被广泛认可。在云计算的环境下,ASP技术是一种极为重要的技术,它可以实现分布式计算,提高计算效率。本文将探讨ASP技术如何优化打...
    99+
    2023-10-04
    打包 分布式 numpy
  • 如何在分布式系统中使用ASP.NET进行编程?
    在如今的互联网时代,分布式系统已经成为了许多企业和组织的标配,而ASP.NET又是一个被广泛使用的开发框架。那么如何在分布式系统中使用ASP.NET进行编程呢?本篇文章将为您详细介绍。 一、什么是分布式系统? 分布式系统是指由多个独立计算机...
    99+
    2023-10-22
    leetcode 分布式 unix
  • 如何在PHP应用程序中使用分布式路径?
    PHP是一种流行的编程语言,用于开发各种应用程序,从简单的网站到复杂的企业级应用程序。在开发PHP应用程序时,分布式路径是一个关键概念。本文将介绍如何在PHP应用程序中使用分布式路径。 什么是分布式路径? 分布式路径是一种在分布式系统中管理...
    99+
    2023-08-13
    npm path 分布式
  • 如何在 ASP 和 JavaScript 中编写分布式应用程序?
    随着互联网的不断发展,越来越多的应用程序需要支持分布式架构,以满足高并发和高可用性的需求。本文将介绍如何在 ASP 和 JavaScript 中编写分布式应用程序,帮助开发人员更好地应对分布式架构的挑战。 一、ASP 中的分布式应用程序 ...
    99+
    2023-06-25
    javascript 学习笔记 分布式
  • 分布式和异步编程:如何在Python IDE中实现?
    随着计算机技术的不断发展,分布式和异步编程越来越被广泛应用于各种领域。Python 作为一门高效的编程语言,也提供了丰富的工具和库来支持分布式和异步编程。在本文中,我们将介绍如何在 Python IDE 中实现分布式和异步编程,并给出相应...
    99+
    2023-07-10
    ide 分布式 异步编程
  • 如何在Java分布式应用程序中同步路径?
    在Java分布式应用程序中,路径同步是一个关键的问题。当多个节点同时访问共享文件系统时,如果不进行路径同步,就有可能导致数据出现错误或丢失。本文将介绍如何在Java分布式应用程序中同步路径,并通过演示代码来说明。 一、路径同步的原因 在分布...
    99+
    2023-08-17
    path 分布式 同步
  • Java异步编程:如何在分布式系统中实现?
    随着分布式系统的普及,异步编程成为了必不可少的一部分。Java作为一种广泛使用的编程语言,也在异步编程方面提供了很多支持。本文将介绍Java异步编程的基础知识,并探讨如何在分布式系统中实现异步编程。 一、异步编程基础 异步编程是指在执行某...
    99+
    2023-07-31
    异步编程 分布式 关键字
  • 线程管理在分布式操作系统中的作用
    线程管理在分布式操作系统中至关重要,因为它有助于协调和管理不同线程之间的资源分配和交互,以实现高效且可靠的系统运行。 线程同步 分布式系统通常涉及多个并发的线程,这使得线程同步至关重要。线程同步机制确保线程在访问共享资源或执行关键任务时不...
    99+
    2024-04-02
  • 如何在 Python 中使用函数式编程处理分布式日志?
    随着分布式系统的普及,日志处理的需求也变得越来越大。而函数式编程的特点,如简洁、可重用、易维护等,使得它在分布式日志处理中越来越受欢迎。本文将介绍如何在 Python 中使用函数式编程处理分布式日志。 1. 函数式编程概述 函数式编程是一种...
    99+
    2023-07-22
    日志 分布式 函数
  • docker compose 一键部署分布式配置中心Apollo的过程详解
    简介 说起分布式肯定要想到分布式配置中心、分布式日志、分布式链路追踪等 在分布式部署中业务往往有很多配置比如: 应用程序在启动和运行时需要读取一些配置信息,配置基本上伴随着应用程序的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作