MGM API 提供了幾個函數,可用於啟動、停止和重新啟動一個或多個叢集資料節點。本節將說明這些函數。
啟動、停止和重新啟動節點。 您可以使用下列函數啟動、停止和重新啟動叢集節點,這些函數會在接下來的幾個章節中詳細說明。
啟動節點。 使用
ndb_mgm_start()。-
停止節點。 使用
ndb_mgm_stop()、ndb_mgm_stop2()、ndb_mgm_stop3()或ndb_mgm_stop4()。通常,您無法在其他節點啟動時使用這些函數來停止節點。您可以使用
ndb_mgm_stop4(),並將force參數設定為 1,來覆寫此限制。 -
重新啟動節點。 使用
ndb_mgm_restart()、ndb_mgm_restart2()、ndb_mgm_restart3()或ndb_mgm_restart4()。通常,您無法在其他節點啟動時使用這些函數來重新啟動節點。您可以使用
ndb_mgm_restart4(),並將force參數設定為 1,來覆寫此限制。
- 說明
此函數可用於啟動一個或多個叢集節點。要啟動的節點必須使用 no-start 選項 (
-n) 啟動,這表示資料節點二進位檔已啟動,且正在等待START管理命令,該命令會實際啟用節點。- 簽章
int ndb_mgm_start ( NdbMgmHandle handle, int number, const int* list )- 參數
-
ndb_mgm_start()接受 3 個參數一個
NdbMgmHandle。要啟動的節點
數量。使用0來啟動叢集中的所有資料節點。要啟動的節點 ID
清單。
- 傳回值
實際啟動的節點數量;如果發生失敗,則會傳回
-1。
- 說明
此函數會停止一個或多個資料節點。
- 簽章
int ndb_mgm_stop ( NdbMgmHandle handle, int number, const int* list )- 參數
-
ndb_mgm_stop()接受 3 個參數:呼叫此函數相當於呼叫ndb_mgm_stop2(。handle,number,list, 0)一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。
- 傳回值
實際停止的節點數量;如果發生失敗,則會傳回
-1。
- 說明
如同
ndb_mgm_stop(),此函數會停止一個或多個資料節點。但是,它提供指定節點是否正常關閉的功能。- 簽章
int ndb_mgm_stop2 ( NdbMgmHandle handle, int number, const int* list, int abort )- 參數
-
ndb_mgm_stop2()接受 4 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。abort的值會決定節點的關閉方式。1表示節點會立即關閉;0表示節點會正常停止。
- 傳回值
實際停止的節點數量;如果發生失敗,則會傳回
-1。
- 說明
如同
ndb_mgm_stop()和ndb_mgm_stop2(),此函數會停止一個或多個資料節點。如同ndb_mgm_stop2(),它提供指定節點是否應該正常關閉的功能。此外,它還提供一種方法來檢查是否需要在停止節點之前斷開連線。- 簽章
int ndb_mgm_stop3 ( NdbMgmHandle handle, int number, const int* list, int abort, int* disconnect )- 參數
-
ndb_mgm_stop3()接受 5 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。abort的值會決定節點的關閉方式。1表示節點會立即關閉;0表示節點會正常停止。如果
disconnect傳回1(true),這表示您必須先斷開連線,才能套用停止命令。例如,在停止處理所連線的管理伺服器時,必須斷開連線。
- 傳回值
實際停止的節點數量;如果發生失敗,則會傳回
-1。
- 說明
如同其他
ndb_mgm_stop函數,此函數會停止一個或多個資料節點。如同*()ndb_mgm_stop2(),它提供指定節點是否應該正常關閉的功能;如同ndb_mgm_stop3(),它提供一種方法來檢查是否需要在停止節點之前斷開連線。此外,即使這會導致叢集無法運作,也可以強制關閉節點。- 簽章
int ndb_mgm_stop4 ( NdbMgmHandle handle, int number, const int* list, int abort, int force, int* disconnect )- 參數
-
ndb_mgm_stop4()接受 6 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。abort的值會決定節點的關閉方式。1表示節點會立即關閉;0表示節點會正常停止。-
在給定節點關閉會導致不完整叢集的情況下,
force的值會決定要採取的動作。1會導致節點 (和整個叢集) 在這種情況下關閉,0表示節點不會關閉。將
force設定為 1 也會讓您即使在其他節點啟動時,也能夠停止節點。(錯誤 #58451) 如果
disconnect傳回1(true),這表示您必須先斷開連線,才能套用停止命令。例如,在停止處理所連線的管理伺服器時,必須斷開連線。
- 傳回值
實際停止的節點數量;如果發生失敗,則會傳回
-1。
- 說明
此函數可用於重新啟動一個或多個叢集資料節點。
- 簽章
int ndb_mgm_restart ( NdbMgmHandle handle, int number, const int* list )- 參數
-
ndb_mgm_restart()接受 3 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。
呼叫此函數相當於呼叫
ndb_mgm_restart2(handle, number, list, 0, 0, 0);
如需詳細資訊,請參閱 ndb_mgm_restart2()。
- 傳回值
實際重新啟動的節點數量;如果失敗,則為
-1。
- 說明
如同
ndb_mgm_restart(),此函數可用於重新啟動一個或多個叢集資料節點。但是,ndb_mgm_restart2()提供額外的重新啟動選項,包括初始重新啟動、等待啟動和立即 (強制) 重新啟動。- 簽章
int ndb_mgm_restart2 ( NdbMgmHandle handle, int number, const int* list, int initial int nostart, int abort )- 參數
-
ndb_mgm_restart2()接受 6 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。如果
initial為 true (1),則每個節點都會進行初始重新啟動,也就是說,它的檔案系統會被移除。如果
nostart為 true,則節點實際上不會啟動,而是保持準備好接收啟動命令的狀態。如果
abort為 true,則會立即重新啟動節點,略過任何正常重新啟動。
- 傳回值
實際重新啟動的節點數量;如果失敗,則為
-1。
- 說明
如同
ndb_mgm_restart2(),此函數可用於在一個或多個叢集資料節點上造成初始重新啟動、等待重新啟動和立即 (強制) 重新啟動。但是,ndb_mgm_restart3()提供額外選項,可檢查是否需要在重新啟動之前斷開連線。- 簽章
int ndb_mgm_restart3 ( NdbMgmHandle handle, int number, const int* list, int initial int nostart, int abort, int* disconnect )- 參數
-
ndb_mgm_restart3()接受 7 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。如果
initial為 true (1),則每個節點都會進行初始重新啟動,也就是說,它的檔案系統會被移除。如果
nostart為 true,則節點實際上不會啟動,而是保持準備好接收啟動命令的狀態。如果
abort為 true,則會強制立即重新啟動節點,而不會執行正常重新啟動。如果
disconnect傳回1(true),這表示您必須先斷開連線,才能套用重新啟動的命令。例如,當停止處理連線的 Management Server 時,需要斷開連線。
- 傳回值
實際重新啟動的節點數量;如果失敗,則為
-1。
- 說明
與其他
ndb_mgm_restart函式一樣,此函式會重新啟動一個或多個資料節點。與*()ndb_mgm_restart2()類似,它可用於對一個或多個 NDB Cluster 資料節點執行初始重新啟動、等待重新啟動和立即(強制)重新啟動;與ndb_mgm_stop3()類似,它提供了一種方式來檢查在停止節點之前是否需要斷開連線。此外,即使這樣做會導致叢集重新啟動,也可以強制節點重新啟動。- 簽章
int ndb_mgm_restart4 ( NdbMgmHandle handle, int number, const int* list, int initial int nostart, int abort, int force, int* disconnect )- 參數
-
ndb_mgm_restart4()接受 7 個參數一個
NdbMgmHandle。要停止的節點
數量。使用0來停止叢集中的所有資料節點。要停止的節點 ID
清單。如果
initial為 true (1),則每個節點都會進行初始重新啟動,也就是說,它的檔案系統會被移除。如果
nostart為 true,則節點實際上不會啟動,而是保持準備好接收啟動命令的狀態。如果
abort為 true,則會強制立即重新啟動節點,而不會執行正常重新啟動。-
force的值決定在重新啟動導致特定節點遺失會造成叢集不完整的情況下,將採取的動作。1表示在這種情況下會重新啟動節點和整個叢集,0表示不會重新啟動節點。將
force設定為 1 也可以在其他節點啟動時重新啟動節點。(錯誤 #58451) 如果
disconnect傳回1(true),這表示您必須先斷開連線,才能套用重新啟動的命令。例如,當停止處理連線的 Management Server 時,需要斷開連線。
- 傳回值
實際重新啟動的節點數量;如果失敗,則為
-1。