TCP/IP 是 NDB 叢集中節點之間所有連線的預設傳輸機制。通常不需要定義 TCP/IP 連線;NDB 叢集會自動為所有資料節點、管理節點以及 SQL 或 API 節點設定此類連線。
有關此規則的例外情況,請參閱第 25.4.3.11 節,「使用直接連線的 NDB 叢集 TCP/IP 連線」。
若要覆寫預設連線參數,必須在 config.ini
檔案中使用一個或多個 [tcp]
區段來定義連線。每個 [tcp]
區段都會明確定義兩個 NDB 叢集節點之間的 TCP/IP 連線,而且至少必須包含參數 NodeId1
和 NodeId2
,以及任何要覆寫的連線參數。
也可以透過在 [tcp default]
區段中設定這些參數來變更這些參數的預設值。
應該在 config.ini
檔案中列出所有 [tcp]
區段最後,在檔案中所有其他區段之後。但是,[tcp default]
區段則不需要如此。此要求是 NDB 叢集管理伺服器讀取 config.ini
檔案方式的已知問題。
以下列出可在 config.ini
檔案的 [tcp]
和 [tcp default]
區段中設定的連線參數
-
版本 (或更高版本) NDB 類型或單位 布林值 預設值 false 範圍 true, false 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
依預設,當管理節點在嘗試連線時無法解析主機名稱時,會導致嚴重錯誤。可以透過在全域設定檔 (通常名為
config.ini
) 的[tcp default]
區段中將AllowUnresolvedHostNames
設定為true
來覆寫此行為,在此情況下,無法解析主機名稱會被視為警告,而且ndb_mgmd 啟動會繼續不中斷。 -
版本 (或更高版本) NDB 類型或單位 布林值 預設值 false 範圍 true, false 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
此參數依預設為停用。當啟用 (設定為
Y
或1
) 時,所有訊息的檢查碼都會在放入傳送緩衝區之前計算。此功能可確保訊息在傳送緩衝區中等候時,或在傳輸機制中不會損毀。 當啟用
ndb_optimized_node_selection
時,在某些情況下,會使用節點鄰近性來選取要連線的節點。此參數可用於設定較低的值來影響鄰近性,該值會被解譯為「較近」。如需更多資訊,請參閱系統變數的說明。-
版本 (或更高版本) NDB 類型或單位 名稱或 IP 位址 預設值 [...] 範圍 ... 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
HostName1
和HostName2
參數可用於指定要用於兩個節點之間給定 TCP 連線的特定網路介面。用於這些參數的值可以是主機名稱或 IP 位址。 -
版本 (或更高版本) NDB 類型或單位 名稱或 IP 位址 預設值 [...] 範圍 ... 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
HostName1
和HostName2
參數可用於指定要用於兩個節點之間給定 TCP 連線的特定網路介面。用於這些參數的值可以是主機名稱或 IP 位址。 -
版本 (或更高版本) NDB 類型或單位 數值 預設值 [無] 範圍 1 - 255 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
若要識別兩個節點之間的連線,必須在組態檔的
[tcp]
區段中,以NodeId1
和NodeId2
的值來提供其節點 ID。這些值與第 25.4.3.7 節,「在 NDB 叢集中定義 SQL 和其他 API 節點」中所述的每個節點的相同唯一Id
值。 -
版本 (或更高版本) NDB 類型或單位 數值 預設值 [無] 範圍 1 - 255 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
若要識別兩個節點之間的連線,必須在組態檔的
[tcp]
區段中,以NodeId1
和NodeId2
的值來提供其節點 ID。這些值與第 25.4.3.7 節,「在 NDB 叢集中定義 SQL 和其他 API 節點」中所述的每個節點的相同唯一Id
值。 -
版本 (或更高版本) NDB 類型或單位 數值 預設值 [無] 範圍 1 - 63 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
設定 TCP 連線的伺服器端。
-
版本 (或更高版本) NDB 類型或單位 位元組 預設值 0 範圍 0 - 4294967039 (0xFFFFFEFF) 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
當傳送緩衝區中未傳送的位元組超過此數量時,會將連線視為過載。
此參數可用於判斷在將連線視為過載之前,傳送緩衝區中必須存在多少未傳送的資料。如需更多資訊,請參閱第 25.4.3.14 節,「設定 NDB 叢集傳送緩衝區參數」。
-
版本 (或更高版本) NDB 類型或單位 列舉 預設值 4 範圍 4, 6 重新啟動類型 初始系統重新啟動:需要完全關閉叢集,清除並從備份還原叢集檔案系統,然後重新啟動叢集。
判斷 IP 版本 4 或版本 6 的 DNS 解析偏好。由於 NDB 叢集採用的組態擷取機制要求所有連線使用相同的偏好,因此應在
config.ini
全域設定檔的[tcp default]
中設定此參數。 -
版本 (或更高版本) NDB 類型或單位 布林值 預設值 false 範圍 true, false 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
如果啟用此參數和
Checksum
,則執行傳送前檢查碼檢查,並檢查節點之間的所有 TCP 訊號是否有錯誤。如果未同時啟用Checksum
,則不會有任何作用。 -
版本 (或更高版本) NDB 類型或單位 字串 預設值 [...] 範圍 ... 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
設定 TCP 連線的 Proxy。
-
版本 (或更高版本) NDB 類型或單位 位元組 預設值 2M 範圍 16K - 4294967039 (0xFFFFFEFF) 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
指定從 TCP/IP 通訊端接收資料時使用的緩衝區大小。
此參數的預設值為 2MB。最小值為 16KB;理論最大值為 4GB。
-
版本 (或更高版本) NDB 類型或單位 布林值 預設值 false 範圍 ... 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
如果此 TCP 連線任一端點的節點需要 TLS 驗證,則此參數的值為
true
,否則為false
。此值由NDB
設定,使用者無法變更。 -
版本 (或更高版本) NDB 類型或單位 不帶正負號 預設值 2M 範圍 256K - 4294967039 (0xFFFFFEFF) 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
TCP 傳輸器會使用緩衝區來儲存所有訊息,然後才會執行傳送呼叫至作業系統。當此緩衝區達到 64KB 時,其內容會傳送;當一輪訊息已執行時,也會傳送這些內容。若要處理暫時性的過載情況,也可以定義較大的傳送緩衝區。
如果明確設定此參數,則記憶體不會專用於每個傳輸器;相反地,所使用的值表示單一傳輸器可以使用多少記憶體 (從可用總記憶體中 - 即
TotalSendBufferMemory
) 的硬性限制。如需更多關於在 NDB 叢集中設定動態傳輸器傳送緩衝區記憶體配置的資訊,請參閱第 25.4.3.14 節,「設定 NDB 叢集傳送緩衝區參數」。傳送緩衝區的預設大小為 2MB,這是在大多數情況下建議的大小。最小大小為 64 KB;理論上的最大值為 4 GB。
-
版本 (或更高版本) NDB 類型或單位 布林值 預設值 false(偵錯版本:true) 範圍 true, false 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
為了能夠追蹤分散式訊息資料包,必須識別每個訊息。當此參數設定為
Y
時,訊息 ID 會透過網路傳輸。此功能在生產版本中預設為停用,而在-debug
版本中則為啟用。 將此參數設定為
TRUE
或1
會繫結IP_ADDR_ANY
,以便可以從任何地方建立連線(用於自動產生的連線)。預設值為FALSE
(0
)。-
版本 (或更高版本) NDB 類型或單位 微秒 預設值 0 範圍 0 - 2000 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
控制 TCP 傳輸器的自旋;沒有啟用,請設定為非零值。這適用於連線的資料節點和管理或 SQL 節點端。
-
版本 (或更高版本) NDB 類型或單位 不帶正負號 預設值 0 範圍 0 - 2G 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
決定 TCP 傳輸器初始化期間設定的記憶體大小。建議在大多數常見的使用案例中使用預設值。
-
版本 (或更高版本) NDB 類型或單位 不帶正負號 預設值 0 範圍 0 - 2G 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
決定 TCP 傳輸器初始化期間設定的接收緩衝區大小。預設值和最小值為 0,允許作業系統或平台設定此值。建議在大多數常見的使用案例中使用預設值。
-
版本 (或更高版本) NDB 類型或單位 不帶正負號 預設值 0 範圍 0 - 2G 重新啟動類型 節點重新啟動:需要對叢集進行滾動重新啟動。
決定 TCP 傳輸器初始化期間設定的傳送緩衝區大小。預設值和最小值為 0,允許作業系統或平台設定此值。建議在大多數常見的使用案例中使用預設值。
重新啟動類型。 本節中的參數描述所使用的重新啟動類型相關資訊如下表所示
表 25.20 NDB Cluster 重新啟動類型
符號 | 重新啟動類型 | 描述 |
---|---|---|
N | 節點 | 可以使用滾動重新啟動更新參數(請參閱第 25.6.5 節,「執行 NDB Cluster 的滾動重新啟動」) |
S | 系統 | 必須完全關閉所有叢集節點,然後重新啟動,才能生效此參數的變更 |
I | 初始 | 必須使用 --initial 選項重新啟動資料節點 |