將現有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伺...