此表格包含有關 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
是 remote_node_id
欄位中顯示的節點 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 (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_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 位元組)。在此狀態下,任何使用此傳輸器的新掃描都會縮減其批次大小,以盡量減少傳輸器的負載。
傳送緩衝區減速或超載的常見原因包括下列各項
在與從事二進制記錄的 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 叢集的 TLS 連結加密」。