mysql cluster 節點增加和減少

2021-06-20 05:03:33 字數 3142 閱讀 1166



增加或減少資料節點的數量和noofreplicas(即副本數,通過管理節點的config.ini配置檔案來設定)有關,一般來說noofreplicas是2,那麼增加或減少的數量也應該是成對的,否則要設定另外的noofreplicas。首先必須確保新加入的資料節點作為新的group加入,預設2個node為1個group,group數量=node總數/noofreplicas數。

[ndbd]

id=6

hostname= 10.30.9.208

datadir=/opt/mysql-cluster/data

[ndbd]

id=7

hostname= 10.30.9.211

datadir=/opt/mysql-cluster/data

這裡的id不能跟已有的id重複

2.關閉管理節點,用reload方式啟動管理節點

執行ndb_mgm進入管理命令介面

找到管理節點的id,然後執行管理節點id stop,退出

[root@sg204 mysql-cluster]# libexec/ndb_mgmd -f /opt/mysql-cluster/etc/config.ini --reload    #加上reload引數,使得修改過的config.ini生效

啟動成功後用show檢視,可以 看到新加入的資料節點,並且處於未連線狀態。

3.滾動重啟舊的資料儲存節點服務(滾動重啟,不能所有節點同時重啟,如果同時停止,資料庫前端查詢就會出現錯誤)

ndb_mgm> 2 restart

node 2: node shutdown initiated

node 2: node shutdown completed, restarting, no start.

node 2 is being restarted

ndb_mgm> node 2: start initiated (version 7.1.19)

node 2: started (version 7.1.19)

ndb_mgm> 3 restart

node 3: node shutdown initiated

node 3: node shutdown completed, restarting, no start.

node 3 is being restarted

ndb_mgm> node 3: start initiated (version 7.1.19)

ndb_mgm> node 3: started (version 7.1.19)

4.  滾動重啟所有的資料查詢節點服務

[root@sg204 mysql-cluster]#bin/

mysqladmin -uroot -ppassword shutdown

[root@sg204 mysql-cluster]# mysqld_safe --console --ndbcluster --ndb-connectstring=192.168.0.10

5.以初如化方式 啟動新增加的資料儲存節點

[root@sg204 mysql-cluster]#ndbd -c 10.30.9.204 --initial

啟動後在管理節點上用show命令檢視可以 看到新加入的節點已經啟動並處於未分組狀態

id=6 @10.30.9.208 (5.1.56-ndb-7.1.19, no nodegroup)

id=7 @10.30.9.211 (5.1.56-ndb-7.1.19, no nodegroup)

6.為新節點增加分組,在管理節點上ndb_mgm下輸入以下命令:

ndb_mgm> create nodegroup 6,7

這時在管理節點上show,可以看到新節點已經分組。

ndb_mgm> show

connected to management server at: localhost:1186

cluster configuration

---------------------

[ndbd(ndb)] 4 node(s)

id=2 @10.30.9.206 (mysql-5.1.56 ndb-7.1.19, nodegroup: 0, master)

id=3 @10.30.9.207 (mysql-5.1.56 ndb-7.1.19, nodegroup: 0)

id=6 @10.30.9.208 (mysql-5.1.56 ndb-7.1.19, nodegroup: 1)

id=7 @10.30.9.211 (mysql-5.1.56 ndb-7.1.19, nodegroup: 1)

[ndb_mgmd(mgm)] 1 node(s)

id=1 @10.30.9.204 (mysql-5.1.56 ndb-7.1.19)

[mysqld(api)] 4 node(s)

id=4 @10.30.9.208 (mysql-5.1.56 ndb-7.1.19)

id=5 @10.30.9.211 (mysql-5.1.56 ndb-7.1.19)

id=8 @10.30.9.206 (mysql-5.1.56 ndb-7.1.19)

id=9 @10.30.9.207 (mysql-5.1.56 ndb-7.1.19)

7.重新分配集群資料(資料量表比較大時,會出現很多問題;我當時表裡資料量為三千萬條,一直報錯,報錯解決後提示成功,但資料沒有遷移過去,最後沒有弄,直接把錶資料刪除了……

現把網上找到的方法貼到下面)

select table_schema, table_name from information_schema.tables where engine = 'ndbcluster';

alter online table table_name reorganize partition

然後通過show命令或者使用ndb_desc命令檢視

ndb_desc -c 192.168.0.10 -d tuge datasource -p

-c後面跟管理節點的ip,-d跟資料庫的名字,datasource為表名,-p輸出分割槽的詳細資訊

遷移之後空間還沒有釋放出來,需要通過optimize命令優化表,釋放遷移走的空間(當optimize乙個ndb大表的時候很慢,很容易出問題)

表的資料量很多的時候,最好自己編寫指令碼,實現資料的重新分割槽和優化。

mysql cluster 安裝測試

mysql cluster 實際上是在無共享儲存裝置的情況下實現的一種完全分布式資料庫系統,其主要通過ndb cluster 簡稱ndb 儲存引擎來實現。也就是資料庫集群,最開始的版本是將資料放在記憶體,新的版本是只將索引放入記憶體。記憶體和網路影響 mysql cluster 效能。一安裝mysq...

Ubuntu安裝Mysqlcluster集群

可參考 具體的安裝過程,可參考mysqlcluster手冊中的第4章。安裝 1,檢查系統是否已存在mysql組和mysql使用者,若不存在則新建mysql使用者組和mysql使用者 2,解壓到 usr local目錄下並建立mysql的軟鏈結 3,初始化mysql,在執行初始化之前必須先安裝依賴包 ...

Mysql cluster問題列表

mysql cluster問題列表 在安裝和使用 mysql cluster 集群的過程中,遇到了很多問題,現在把那些問題列出來,並復上解決方法,希望大家在以後的使用中能少花時間少走彎路 1 匯入資料的時候遇到如下報錯 error 1005 hy000 at line 25 can t create...