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
。