此表格包含關於 NDB 傳輸器的資訊。有關個別傳輸器的類似資訊,請參閱 transporter_details
表格。
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 連線,則此欄位為
1
,否則為0
。
注意事項
對於叢集中每個執行的資料節點,transporters
表格會顯示一個列,顯示該節點與叢集中所有節點的連線狀態,包括其本身。此資訊顯示在表格的 status 欄位中,此欄位可以有以下任何一個值:CONNECTING
、CONNECTED
、DISCONNECTING
或 DISCONNECTED
。
與已設定但目前未連線至叢集的 API 和管理節點的連線會顯示狀態 DISCONNECTED
。在此表格中不會顯示 node_id
是目前未連線之資料節點的列。(這與 ndbinfo.nodes
表格中省略已斷線節點的情況類似。)
remote_address
是節點的主機名稱或位址,其 ID 顯示在 remote_node_id
欄位中。此節點的 bytes_sent
和此節點的 bytes_received
分別是此節點自連線建立以來使用此連線傳送和接收的位元組數。對於狀態為 CONNECTING
或 DISCONNECTED
的節點,這些欄位始終顯示 0
。
假設您有一個包含 2 個資料節點、2 個 SQL 節點和 1 個管理節點的 5 節點叢集,如 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 (9.0.0-ndb-9.0.0, Nodegroup: 0, *)
id=2 @10.100.10.2 (9.0.0-ndb-9.0.0, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=10 @10.100.10.10 (9.0.0-ndb-9.0.0)
[mysqld(API)] 2 node(s)
id=20 @10.100.10.20 (9.0.0-ndb-9.0.0)
id=21 @10.100.10.21 (9.0.0-ndb-9.0.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_count
、overloaded
、overload_count
、slowdown
和 slowdown_count
計數器會在連線時重設,並在遠端節點斷線後保留其值。bytes_sent
和 bytes_received
計數器也會在連線時重設,因此會在斷線後保留其值(直到下次連線重設它們)。
overloaded
和 overload_count
欄位所指的超載狀態,發生於此傳輸器的傳送緩衝區包含超過 OVerloadLimit
位元組(預設值為 SendBufferMemory
的 80%,即 0.8 * 2097152 = 1677721 位元組)時。當給定的傳輸器處於超載狀態時,任何嘗試使用此傳輸器的新交易都會失敗,並顯示錯誤 1218 (NDB 核心中的傳送緩衝區超載)。這會影響掃描和主索引鍵作業。
此表格的 slowdown
和 slowdown_count
欄位所指的減速狀態,發生於傳輸器的傳送緩衝區包含超過超載限制的 60% 時(預設等於 0.6 * 2097152 = 1258291 位元組)。在此狀態下,任何使用此傳輸器的新掃描都會縮小其批次大小,以最小化傳輸器的負載。
傳送緩衝區減速或超載的常見原因包括以下幾點
將資料節點 (ndbd 或 ndbmtd) 與從事二進位記錄的 SQL 節點放在同一主機上
每個交易或交易批次的列數過多
組態問題,例如
SendBufferMemory
不足硬體問題,例如 RAM 不足或網路連線狀況不佳
另請參閱 第 25.4.3.14 節,〈設定 NDB Cluster 傳送緩衝區參數〉。
如果連線使用 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 Cluster 的 TLS 連結加密〉。