Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

25.6.17.65 ndbinfo transporters 表

该表包含 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 连接,则该列为 10

注意

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

配置但未连接到集群的 API 和管理节点的连接显示状态为 DISCONNECTED。该表中不显示未连接的数据节点的行。(这与 ndbinfo.nodes 表中未显示断开连接的节点类似。

remote_address 是远程节点的主机名或地址,该节点的 ID 显示在 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
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @10.100.10.1  (8.1.0-ndb-8.1.0, Nodegroup: 0, *)
id=2    @10.100.10.2  (8.1.0-ndb-8.1.0, Nodegroup: 0)

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

[mysqld(API)]   2 node(s)
id=20   @10.100.10.20  (8.1.0-ndb-8.1.0)
id=21   @10.100.10.21  (8.1.0-ndb-8.1.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 行—1 行来自管理节点到每个节点的连接,包括自己和当前离线的数据节点—并显示每个连接的状态为 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 列和 overload_count 列引用的状态,当该传输器的发送缓冲区包含超过 OVerloadLimit 字节(默认为 SendBufferMemory 的 80%,即 0.8 * 2097152 = 1677721 字节)时。 当某个传输器处于超载状态时,任何尝试使用该传输器的新事务将失败,错误代码为 1218 (NDB 内核中的发送缓冲区超载)。这将影响扫描和主键操作。

慢速状态,指的是由 slowdown 列和 slowdown_count 列引用的状态,当传输器的发送缓冲区包含超过 60% 的超载限制(默认为 0.6 * 2097152 = 1258291 字节)时。在这种状态下,使用该传输器的任何新扫描将其批处理大小减少,以减少对传输器的负载。

发送缓冲区慢速或超载的常见原因包括以下几点:

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

  • 在同一主机上运行数据节点(ndbd 或 ndbmtd)和参与二进制日志记录的 SQL 节点

  • 每个事务或事务批处理中的行数较大

  • 配置问题,例如 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 表来获取每个使用链接加密连接的节点的证书信息。

encrypted 列是在 NDB 8.3.0 中添加的。

有关更多信息,请参阅 第 25.6.15 节,“NDB 集群的 TLS 链接加密”