RocketMQ版本:3.4.6

==问题现象==

RocketMQ集群的某个topic,在一部分节点上消费有“断层”,这部分数据一致没办法消费。

==调查过程==

一顿操作猛如虎的调查之后发现,

该Topic的消费者的客户端连接数不正确。

程序中设置的客户端数明明是4个,

但是Web页面上显示的是5个。

OK,如何才能知道这些客户端程序到底是哪些呢?

看了一下RocketMQ的命令列表,发现里面有一个命令好像有戏。

用这个命令尝试了一下,果然有效。

命令:sh /home/hadmin/alibaba-rocketmq/bin/mqadmin consumerConnection -n "10.11.2.4:9876;10.11.2.5:9876" -g face2

用这个命令可以查看出,这个消费组的客户端是在哪个节点上,占用的端口号是哪个。

将正常的客户端连接断开(用的Storm消费,把Storm的拓扑kill掉就可以了)

再次使用这个命令,就可以查看出,到底是哪个程序在捣鬼了。

发现在10.11.2.9节点上,54681这个端口的java程序启动了一个客户端连接。

到10.11.2.9上查看一下是哪个程序。

命令:netstat -anp | grep 54681  查看占用端口的java进程号是43021。

命令:ps -ef | grep 43021  查看启动这个进程的java程序。

==问题结论==

我们的场景是用Storm来消费RocketMQ。

但是,在我们kill拓扑的时候,由于storm的原因,

偶尔会有一些worker不能被kill掉,变成“僵尸进程”

上述问题中,莫名其妙多出的1个客户端连接就是僵尸进程引起的,

将上述发现的僵尸进程kill掉之后,问题就解决了。

==经验教训==

Storm的拓扑kill之后,建议检查是否有僵尸进程存在。可以写一个shell脚本检查。

RocketMQ的客户端连接数调查的更多相关文章

  1. "Redis客户端连接数一直降不下来"的有关问题解决

    [线上问题] "Redis客户端连接数一直降不下来"的问题解决 前段时间,上线了新的 Redis缓存(Cache)服务,准备替换掉 Memcached. 为什么要将 Memcach ...

  2. RocketMQ Java 客户端实现

    本章介绍使用 Java 实现RocketMQ 的客户端. 以及各种消息的方式的实现. 本章实现了以下几种消息的实现方式: 一:普通消息 普通的消息分为三种: 1> 可靠的同步消息 可靠的同步传输 ...

  3. "Redis客户端连接数一直降不下来"的有关问题解决 good

    [线上问题] "Redis客户端连接数一直降不下来"的问题解决 前段时间,上线了新的 Redis缓存(Cache)服务,准备替换掉 Memcached. 为什么要将 Memcach ...

  4. RocketMQ Py客户端

    #!/bin/bash yum install make cmake gcc-c++ python-devel zlib-devel cd /home/amy git clone https://gi ...

  5. mysql server查询客户端连接数

    SELECT substring_index(HOST, ) AS host_name, state, count(*) FROM information_schema. PROCESSLIST GR ...

  6. DataSnap Demo:TFDConnection、最大连接数、客户端回叫功能、多线程模拟、压力测试等

    一.限制最大连接数,并验证来访者用户身份: procedure TServerContainer1.DSServer1Connect( DSConnectEventObject: TDSConnect ...

  7. RocketMQ吐血总结

    RocketMQ吐血总结 架构 概念模型 最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结 User Guide RocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间 ...

  8. 消息队列的一些场景及源码分析,RocketMQ使用相关问题及性能优化

    前文目录链接参考: 消息队列的一些场景及源码分析,RocketMQ使用相关问题及性能优化 https://www.cnblogs.com/yizhiamumu/p/16694126.html 消息队列 ...

  9. 分布式开放消息系统(RocketMQ)的原理与实践

    分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一 ...

随机推荐

  1. 25. LiveBos调用class实例

    var v= ABS_LOADBEAN('com.apex.mmsqljdbc.TestJDBC');var date=ABS_SQLVALUE("select to_char(?,'yyy ...

  2. FireFox 火狐主页被劫持

    火狐主页被劫持hao123,流氓 WIN7 ,firefox,任务栏,快速启动,右键 属性 target 应该是 "D:\Program Files (x86)\Mozilla Firefo ...

  3. WDA-FPM-1-Roadmap(GAF)

    转载:https://www.cnblogs.com/sapSB/p/10077564.html 首先要有个简单的认识: 1.FPM支持的几种UI配置界面接口: Object Instance Flo ...

  4. Winform-图片上传

    1.界面上拖个.pictureBox(pictureBox1) //上传点击按钮 private void button1_Click(object sender, EventArgs e) { Op ...

  5. MIME(Multipurpose Internet Mail Extensions-多用途互联网邮件扩展)

    MIME MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时 ...

  6. TCP/IP知识总结(TCP/IP协议族读书笔记四)

    参考:http://blog.chinaunix.net/uid-26275986-id-4109679.html 继续!TCP的流量控制和拥塞控制. TCP相对UDP可靠的地方在于它的拥塞控制.流量 ...

  7. Haskell语言学习笔记(42)Bifunctor

    Bifunctor class Bifunctor p where bimap :: (a -> b) -> (c -> d) -> p a c -> p b d bim ...

  8. JPEG和Variant的转换

    unit Unit1; interface uses   Windows, Messages, SysUtils, Classes, Graphics, Controls,       Forms, ...

  9. WEB性能测试工具

    做Web开发,难免要对自己开发的页面进行性能检测,自己写工具检测,工作量太大.网上有几款比较成熟的检测工具,以下就介绍一下,与大家分享. 互联网现有工具 基于网页分析工具: 1.       阿里测 ...

  10. java heap space解决方法和JVM参数设置

    在JVM中如果98%的时间是用于GC(Garbage Collection)且可用的 Heap size 不足2%的时候将抛出异常信息,java.lang.OutOfMemoryError: Java ...