mongodb分片集群資料遷移(方案一)

2021-06-16 21:43:02 字數 1570 閱讀 4921

將現有mongodb副本集的資料遷移到新的分片集群中,設計三種遷移方案。

方案一:先同步資料,再建立分片集群,最後配置分片集群。

匯出需要遷移的資料;建立第乙個副本集;將資料匯入到副本集中;增加另外兩個副本集;啟動config server;啟動mongos server;配置分片集群。

1. 匯出需要遷移的資料;

/usr/local/mongo/bin/mongodump --host 172.16.8.134:29017 -d 201 -o /data/data/mongo/tmp/ --directoryperdb

並且將該資料同步到131的/data/data/mongodb/tmp目錄中

2. 建立第乙個副本集

2.1 建立第乙個副本集shard1,不帶分片的

server1:

server2:

server3:

2.2 初始化第乙個副本集shard1

./mongo --port 29017

config=,,]}

rs.initiate(config)

rs.status()  

3. 將資料匯入到副本集中

需要匯入到primary節點

./mongorestore --host 172.16.8.131:29017 -d 201 --directoryperdb /data/data/mongodb/tmp/201/

4. 增加另外兩個副本集

4.1 啟動剩餘兩個副本集,不帶分片

server1:

server2:

server3:

4.2 初始化剩餘兩個副本集

./mongo --port 29018

config=,,]}

rs.initiate(config)

rs.status()

./mongo --port 29019

config=,,]}

rs.initiate(config)

rs.status()  

5. 啟動config server

6. 啟動mongos server

7. 配置分片集群

7.1 配置分片

./mongo 172.16.8.131:40000/admin db

7.2 加入shards

db.runcommand();

db.runcommand();

db.runcommand();

7.3 listing shards

db.runcommand()

7.4 啟用分片

db.runcommand();

7.5 建立索引

use 201

db.customer_user_mst.ensureindex()

db.user_attr_mst.ensureindex()

7.6 配置片鍵

use admin

db.runcommand(}) 

db.runcommand(}) 

mongodb分片集群資料遷移(方案二)

方案二 先建立分片集群,再同步資料,最後配置分片集群。匯出資料 建立分片集群 配置config server 配置mongos server 匯入資料 配置分片集群。1.匯出資料 usr local mongo bin mongodump host 172.16.8.134 29017 d 201 ...

mongodb分片集群資料遷移(方案三)

方案三 先建立分片集群,再配置分片集群,最後同步資料。匯出資料 建立分片集群 配置config server 配置config server 配置分片集群 匯入資料。1.匯出資料 usr local mongo bin mongodump host 172.16.8.134 29017 d 201 ...

MongoDB集群分片

什麼是sharding?說白了就是把海量資料水平擴充套件的集群系統,資料分表儲存在sharding的各個節點上。mongodb的資料分開分為chunk,每個chunk都是collection中的一段連續的資料記錄,一般為200mb,超出則生成新的資料塊。構建sharding需要三種角色,shard伺...