Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


25.6.17.66 NDB 信息transporters 表

该表包含了 NDB 运输器的信息。关于单个运输器的类似信息,请参阅transporter_ details表。

NDB 信息transporters 表包含以下列:

  • node_id

    该数据节点在集群中的唯一节点 ID

  • remote_node_id

    远程数据节点的节点 ID

  • status

    连接状态

  • remote_address

    远程主机的名称或 IP 地址

  • bytes_sent

    使用该连接发送的字节数

  • bytes_received

    使用该连接接收的字节数

  • connect_count

    建立该运输器连接的次数

  • overloaded

    1 如果该运输器当前处于超载状态,否则为 0

  • overload_count

    自连接以来,该运输器进入超载状态的次数

  • slowdown

    1 如果该运输器当前处于减速状态,否则为 0

  • slowdown_count

    自连接以来,该运输器进入减速状态的次数

  • encrypted

    如果使用 TLS 连接 transporter,这个列显示为 1,否则显示为 0

对于集群中的每个运行数据节点,该表显示一个行,展示该节点与集群中所有节点的连接状态,包括自身。这项信息在表的 status 列中显示,可以具有以下值之一:CONNECTINGCONNECTEDDISCONNECTINGDISCONNECTED

配置了 API 和管理节点但当前未连接到集群的连接显示为 DISCONNECTED。表中不包含当前未连接的数据节点的行(该行为类似于 ndbinfo.nodes 表中的 disconnected 节点排除)。

remote_address 是显示在 remote_node_id 列中的节点的主机名或地址。自该连接建立以来,该节点通过该连接发送和接收的字节数分别显示在 bytes_sentbytes_received 列中。对于状态为 CONNECTINGDISCONNECTED 的节点,这些列始终显示 0

假设您有一个5节点集群,包括2个数据节点、2个SQL节点和1个管理节点,如SHOW命令在ndb_mgm客户端的输出中所示:

ndb_mgm> SHOW
Connected to Management Server at: localhost:1186 (using cleartext)
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @10.100.10.1  (8.4.0-ndb-8.4.0, Nodegroup: 0, *)
id=2    @10.100.10.2  (8.4.0-ndb-8.4.0, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=10   @10.100.10.10  (8.4.0-ndb-8.4.0)

[mysqld(API)]   2 node(s)
id=20   @10.100.10.20  (8.4.0-ndb-8.4.0)
id=21   @10.100.10.21  (8.4.0-ndb-8.4.0)

transporters表中有10行记录—5行为第一个数据节点,5行为第二个—假设所有数据节点都在运行,如下所示:

+---------+----------------+------------+----------------+------------+----------------+---------------+------------+----------------+----------+----------------+-----------+
| node_id | remote_node_id | status     | remote_address | bytes_sent | bytes_received | connect_count | overloaded | overload_count | slowdown | slowdown_count | encrypted |
+---------+----------------+------------+----------------+------------+----------------+---------------+------------+----------------+----------+----------------+-----------+
|       5 |              6 | CONNECTED  | 127.0.0.1      |   15509748 |       15558204 |             1 |          0 |              0 |        0 |              0 |         0 |
|       5 |             50 | CONNECTED  | 127.0.0.1      |    1058220 |         284316 |             1 |          0 |              0 |        0 |              0 |         0 |
|       5 |            100 | CONNECTED  | 127.0.0.1      |     574796 |         402208 |             1 |          0 |              0 |        0 |              0 |         0 |
|       5 |            101 | CONNECTING | -              |          0 |              0 |             0 |          0 |              0 |        0 |              0 |         0 |
|       6 |              5 | CONNECTED  | 127.0.0.1      |   15558204 |       15509748 |             1 |          0 |              0 |        0 |              0 |         0 |
|       6 |             50 | CONNECTED  | 127.0.0.1      |    1054548 |         283812 |             1 |          0 |              0 |        0 |              0 |         0 |
|       6 |            100 | CONNECTED  | 127.0.0.1      |     529948 |         397444 |             1 |          0 |              0 |        0 |              0 |         0 |
|       6 |            101 | CONNECTING | -              |          0 |              0 |             0 |          0 |              0 |        0 |              0 |         0 |
+---------+----------------+------------+----------------+------------+----------------+---------------+------------+----------------+----------+----------------+-----------+
mysql> SELECT node_id, remote_node_id, status
    ->   FROM ndbinfo.transporters;
+---------+----------------+---------------+
| node_id | remote_node_id | status        |
+---------+----------------+---------------+
|       1 |              1 | DISCONNECTED  |
|       1 |              2 | CONNECTED     |
|       1 |             10 | CONNECTED     |
|       1 |             20 | CONNECTED     |
|       1 |             21 | CONNECTED     |
|       2 |              1 | CONNECTED     |
|       2 |              2 | DISCONNECTED  |
|       2 |             10 | CONNECTED     |
|       2 |             20 | CONNECTED     |
|       2 |             21 | CONNECTED     |
+---------+----------------+---------------+
10 rows in set (0.04 sec)

如果使用ndb_mgm客户端的命令2 STOP关闭其中一个数据节点,然后重复之前的查询(使用mysql客户端),这张表现在只显示5行记录—每个连接对应一个节点,包括当前离线的数据节点和管理节点本身—并将当前离线数据节点的连接状态显示为CONNECTING,如下所示:

mysql> SELECT node_id, remote_node_id, status
    ->   FROM ndbinfo.transporters;
+---------+----------------+---------------+
| node_id | remote_node_id | status        |
+---------+----------------+---------------+
|       1 |              1 | DISCONNECTED  |
|       1 |              2 | CONNECTING    |
|       1 |             10 | CONNECTED     |
|       1 |             20 | CONNECTED     |
|       1 |             21 | CONNECTED     |
+---------+----------------+---------------+
5 rows in set (0.02 sec)

连接计数器connect_countoverloadedoverload_countslowdownslowdown_count将在连接时重置,并且在远程节点断开连接后保留其值。字节传输计数器bytes_sentbytes_received也将在连接时重置,因此在断开连接后(直到下一个连接重置它们)保持其值。

overload状态,指由overloadedoverload_count列所引用的 transporter的发送缓冲区包含超过OVerloadLimit字节(默认为SendBufferMemory的80%,即2097152 * 0.8 = 1677721字节)的情况。在给定的transporter处于overload状态时,任何尝试使用该transporter的事务都将失败,错误代码1218(NDB kernel中的Send Buffers overloaded)。这影响扫描和主键操作。

slowdown状态,指由slowdownslowdown_ count列所引用的 transporter的发送缓冲区包含超过60%的overload limit(默认为2097152 * 0.6 = 1258291字节)的情况。在这种状态下,使用该transporter的任何新扫描都将其批处理大小减少,以最小化对transporter的负载。

发送缓冲区 slowdown 或 overload 的常见原因包括以下几点:

  • 数据大小,特别是存储在TEXT列或BLOB列(或两种类型的列)中的数据量

  • 在 SQL 节点上启用二进制日志记录的数据节点(ndbd 或 ndbmtd)位于同一主机上

  • 每笔交易或事务批处理中的行数过大

  • 配置问题,如 SendBufferMemory 不足

  • 硬件问题,如 RAM 不足或网络连接不良

请参见第25.4.3.14节,“NDB 集群发送缓冲区参数配置”

如果使用 TLS 连接,encrypted 列的值为 1,如以下所示:

mysql> SELECT node_id, remote_node_id, status, encrypted 
    -> FROM ndbinfo.transporters;
+---------+----------------+------------+-----------+
| node_id | remote_node_id | status     | encrypted |
+---------+----------------+------------+-----------+
|       5 |              6 | CONNECTED  |         1 |
|       5 |             50 | CONNECTED  |         1 |
|       5 |            100 | CONNECTED  |         1 |
|       5 |            101 | CONNECTING |         0 |
|       6 |              5 | CONNECTED  |         1 |
|       6 |             50 | CONNECTED  |         1 |
|       6 |            100 | CONNECTED  |         1 |
|       6 |            101 | CONNECTING |         0 |
+---------+----------------+------------+-----------+
8 rows in set (0.04 sec)

否则,该列的值为 0

可以使用certificates表获取每个使用链路加密连接的节点证书信息

更多信息,请参见第25.6.15节,“NDB 集群链路加密”