Skip to content
This repository has been archived by the owner on Jun 16, 2023. It is now read-only.

检测机器连通性

Longda edited this page May 12, 2014 · 6 revisions

当增加新的机器到集群,我们第一个工作需要确保,新增的机器和老的机器能够相互之间能够连通, 这时,JStorm 提供一个工具, 该工具可以检测所有机器之间底层是否可以连通。

原理

假设集群有32台物理机器, 则启动一个Topology, 该数据流中32个SendSpout, 32个ReceiveBolt, 2个acker。 通过设置TaskRunDifferent属性,保证每个Spout运行在不同的机器上, 每个bolt也运行在不同机器上; 每个spout,针对每个bolt,依次发送1000条Tuple(发送频率为每秒1000条),如果一圈发送完, 休息Timeout 时间, 然后,统计fail的条数, 如果某个bolt的失败条数超过阀值, 写入一个错误到zk, 从而在web上可以展示 机器A 和机器B 之间连通性不好。

如何使用

  1. jstorm 0.9.0/0.9.1/0.9.2 请下载下载 node-check-connection 1.0
    jstorm 0.9.3或以上版本 请下载下载 node-check-connection 2.0
  2. 登陆到可以提交任务的机器上,提交任务。其中xxx为机器的数目。
jstorm jar jstorm-node-connection-check-1.0.0.jar com.alibaba.jstorm.tools.check.NodeCheckTopology xxxx

或者

jstorm jar jstorm-node-connection-check-2.0.0.jar com.alibaba.jstorm.tools.check.NodeCheckTopology xxxx
  1. 登陆到web ui 检查有无错误
Clone this wiki locally