MongoDB分區叢集還原

來源:互聯網
上載者:User

標籤:

從mongodb 3.0開始,mongorestore還原的時候,需要一個運行著的執行個體。早期的版本沒有這個要求。

1.為每個分區部署一個複製集

(1)複製集中的每個成員啟動一個mongod

mongod --dbpath /mdb/data/s11 --logpath /mdb/mlog/s11.log --fork --port 27017 --replSet s1 --smallfiles &mongod --dbpath /mdb/data/s12 --logpath /mdb/mlog/s12.log --fork --port 27018 --replSet s1 --smallfiles &mongod --dbpath /mdb/data/s21 --logpath /mdb/mlog/s21.log --fork --port 27019 --replSet s2 --smallfiles &mongod --dbpath /mdb/data/s22 --logpath /mdb/mlog/s22.log --fork --port 27020 --replSet s2 --smallfiles &

(2)通過mongo串連到執行個體,運行:

mongo --port=27017>rs.initiate()>rs.add("11.11.11.195:27018")
mongo --port=27019>rs.initiate()>rs.add("11.11.11.195:27020")

 

2.部署config伺服器

mongod --dbpath /mdb/data/sc --logpath /mdb/mlog/sc.log --fork --port 27021 --configsvr  &

 

3.啟動mongos執行個體

mongos --logpath /mdb/mlog/ss.log --fork --port 30000 --configdb 11.11.11.195:27021

 

4.叢集添加分區

登陸路由器./mongo --port 30000增加片節點sh.addShard("s1/11.11.11.195:27018")sh.addShard("s2/11.11.11.195:27020")
mongos> sh.status()--- Sharding Status ---   sharding version: {        "_id" : 1,        "minCompatibleVersion" : 5,        "currentVersion" : 6,        "clusterId" : ObjectId("5722c003710922b361783847")}  shards:        {  "_id" : "s1",  "host" : "s1/11.11.11.195:27018,11.11.11.195:27017" }        {  "_id" : "s2",  "host" : "s2/11.11.11.195:27020,11.11.11.195:27019" }  balancer:        Currently enabled:  yes        Currently running:  no        Failed balancer rounds in last 5 attempts:  0        Migration Results for the last 24 hours:                 No recent migrations  databases:        {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }mongos> 

 

5.關閉mongos instances
分區叢集啟動後,關閉mongos執行個體

 

6.還原分區資料

mongorestore --drop /mdb/bin/s1 --port 27017
2016-04-29T10:20:20.643+0800    building a list of dbs and collections to restore from /mdb/bin/s1 dir2016-04-29T10:20:20.657+0800    reading metadata file from /mdb/bin/s1/snps/elegans.metadata.json2016-04-29T10:20:20.658+0800    reading metadata file from /mdb/bin/s1/test/system.users.metadata.json2016-04-29T10:20:20.658+0800    reading metadata file from /mdb/bin/s1/snps/system.users.metadata.json2016-04-29T10:20:20.658+0800    restoring snps.elegans from file /mdb/bin/s1/snps/elegans.bson2016-04-29T10:20:20.658+0800    restoring test.system.users from file /mdb/bin/s1/test/system.users.bson2016-04-29T10:20:20.666+0800    restoring snps.system.users from file /mdb/bin/s1/snps/system.users.bson2016-04-29T10:20:22.974+0800    restoring indexes for collection snps.system.users from metadata2016-04-29T10:20:22.975+0800    finished restoring snps.system.users2016-04-29T10:20:23.073+0800    restoring indexes for collection test.system.users from metadata2016-04-29T10:20:23.074+0800    finished restoring test.system.users2016-04-29T10:20:23.644+0800    [##......................]  snps.elegans  1.6 MB/13.3 MB  (11.8%)2016-04-29T10:20:26.644+0800    [##############..........]  snps.elegans  7.9 MB/13.3 MB  (59.3%)2016-04-29T10:20:29.239+0800    restoring indexes for collection snps.elegans from metadata2016-04-29T10:20:29.660+0800    finished restoring snps.elegans2016-04-29T10:20:29.660+0800    done

 

mongorestore --drop /mdb/bin/s2 --port 27019
2016-04-29T10:20:44.153+0800    building a list of dbs and collections to restore from /mdb/bin/s2 dir2016-04-29T10:20:44.165+0800    reading metadata file from /mdb/bin/s2/snps/elegans.metadata.json2016-04-29T10:20:44.165+0800    restoring snps.elegans from file /mdb/bin/s2/snps/elegans.bson2016-04-29T10:20:44.184+0800    restoring indexes for collection snps.elegans from metadata2016-04-29T10:20:44.186+0800    finished restoring snps.elegans2016-04-29T10:20:44.186+0800    done

 

然後關閉所有分區執行個體

 

7.還原config server資料

mongorestore --drop /mdb/bin/config_server --port 27021
2016-04-29T10:26:24.294+0800    building a list of dbs and collections to restore from /mdb/bin/config_server dir2016-04-29T10:26:24.296+0800    reading metadata file from /mdb/bin/config_server/config/changelog.metadata.json2016-04-29T10:26:24.296+0800    reading metadata file from /mdb/bin/config_server/config/locks.metadata.json2016-04-29T10:26:24.297+0800    restoring config.locks from file /mdb/bin/config_server/config/locks.bson2016-04-29T10:26:24.297+0800    reading metadata file from /mdb/bin/config_server/config/actionlog.metadata.json2016-04-29T10:26:24.302+0800    reading metadata file from /mdb/bin/config_server/config/chunks.metadata.json2016-04-29T10:26:24.302+0800    restoring config.chunks from file /mdb/bin/config_server/config/chunks.bson2016-04-29T10:26:24.303+0800    restoring indexes for collection config.locks from metadata2016-04-29T10:26:24.303+0800    restoring config.actionlog from file /mdb/bin/config_server/config/actionlog.bson2016-04-29T10:26:24.303+0800    restoring indexes for collection config.chunks from metadata2016-04-29T10:26:24.304+0800    restoring config.changelog from file /mdb/bin/config_server/config/changelog.bson2016-04-29T10:26:24.304+0800    finished restoring config.locks2016-04-29T10:26:24.306+0800    restoring indexes for collection config.actionlog from metadata2016-04-29T10:26:24.306+0800    reading metadata file from /mdb/bin/config_server/config/shards.metadata.json2016-04-29T10:26:24.306+0800    restoring config.shards from file /mdb/bin/config_server/config/shards.bson2016-04-29T10:26:24.307+0800    finished restoring config.chunks2016-04-29T10:26:24.307+0800    finished restoring config.actionlog2016-04-29T10:26:24.307+0800    restoring indexes for collection config.shards from metadata2016-04-29T10:26:24.308+0800    restoring indexes for collection config.changelog from metadata2016-04-29T10:26:24.308+0800    reading metadata file from /mdb/bin/config_server/config/databases.metadata.json2016-04-29T10:26:24.308+0800    restoring config.databases from file /mdb/bin/config_server/config/databases.bson2016-04-29T10:26:24.308+0800    reading metadata file from /mdb/bin/config_server/config/lockpings.metadata.json2016-04-29T10:26:24.308+0800    finished restoring config.shards2016-04-29T10:26:24.308+0800    reading metadata file from /mdb/bin/config_server/config/collections.metadata.json2016-04-29T10:26:24.308+0800    finished restoring config.changelog2016-04-29T10:26:24.309+0800    restoring config.lockpings from file /mdb/bin/config_server/config/lockpings.bson2016-04-29T10:26:24.309+0800    restoring config.collections from file /mdb/bin/config_server/config/collections.bson2016-04-29T10:26:24.325+0800    reading metadata file from /mdb/bin/config_server/config/mongos.metadata.json2016-04-29T10:26:24.325+0800    restoring indexes for collection config.databases from metadata2016-04-29T10:26:24.326+0800    restoring config.mongos from file /mdb/bin/config_server/config/mongos.bson2016-04-29T10:26:24.326+0800    restoring indexes for collection config.lockpings from metadata2016-04-29T10:26:24.327+0800    restoring indexes for collection config.collections from metadata2016-04-29T10:26:24.327+0800    finished restoring config.databases2016-04-29T10:26:24.327+0800    finished restoring config.lockpings2016-04-29T10:26:24.328+0800    reading metadata file from /mdb/bin/config_server/config/version.metadata.json2016-04-29T10:26:24.328+0800    restoring config.version from file /mdb/bin/config_server/config/version.bson2016-04-29T10:26:24.328+0800    reading metadata file from /mdb/bin/config_server/config/settings.metadata.json2016-04-29T10:26:24.328+0800    restoring config.settings from file /mdb/bin/config_server/config/settings.bson2016-04-29T10:26:24.328+0800    finished restoring config.collections2016-04-29T10:26:24.328+0800    reading metadata file from /mdb/bin/config_server/config/tags.metadata.json2016-04-29T10:26:24.328+0800    restoring config.tags from file /mdb/bin/config_server/config/tags.bson2016-04-29T10:26:24.366+0800    restoring indexes for collection config.tags from metadata2016-04-29T10:26:24.366+0800    restoring indexes for collection config.settings from metadata2016-04-29T10:26:24.366+0800    restoring indexes for collection config.version from metadata2016-04-29T10:26:24.375+0800    restoring indexes for collection config.mongos from metadata2016-04-29T10:26:24.376+0800    finished restoring config.settings2016-04-29T10:26:24.376+0800    finished restoring config.tags2016-04-29T10:26:24.376+0800    finished restoring config.mongos2016-04-29T10:26:24.376+0800    finished restoring config.version2016-04-29T10:26:24.376+0800    done

 

8.啟動mongos instance

mongos --logpath /mdb/mlog/ss.log --fork --port 30000 --configdb 11.11.11.195:27021
2016-04-29T10:27:56.855+0800 W SHARDING running with 1 config server should be done only for testing purposes and is not recommended for productionabout to fork child process, waiting until server is ready for connections.forked process: 25444child process started successfully, parent exiting

 

9.如果shard的主機名稱發生了變化,需要更新config資料庫

mongos> db.shards.find(){ "_id" : "s1", "host" : "s1/genome_svr1:27501,genome_svr2:27502,genome_svr2:27503" }{ "_id" : "s2", "host" : "s2/genome_svr4:27601,genome_svr5:27602,genome_svr5:27603" }mongos> db.shards.update( { "_id": "s1" }, { $set: { "host": "s1/11.11.11.195:27017,11.11.11.195:27018" } }, { multi: true })mongos> db.shards.update( { "_id": "s2" }, { $set: { "host": "s2/11.11.11.195:27019,11.11.11.195:27020" } }, { multi: true })mongos> db.shards.find()db.shards.find(){ "_id" : "s1", "host" : "s1/11.11.11.195:27018,11.11.11.195:27017" }{ "_id" : "s2", "host" : "s2/11.11.11.195:27020,11.11.11.195:27019" }mongos> 

 

10.重啟所有的shard mongod執行個體


11.重啟其它的mongos執行個體

 

12.驗證叢集環境

mongos> db.printShardingStatus()--- Sharding Status ---   sharding version: {        "_id" : 1,        "minCompatibleVersion" : 5,        "currentVersion" : 6,        "clusterId" : ObjectId("553f0cc819d7841961ac8f4b")}  shards:        {  "_id" : "s1",  "host" : "s1/11.11.11.195:27018,11.11.11.195:27017" }        {  "_id" : "s2",  "host" : "s2/11.11.11.195:27020,11.11.11.195:27019" }  balancer:        Currently enabled:  yes        Currently running:  no        Failed balancer rounds in last 5 attempts:  0        Migration Results for the last 24 hours:                 No recent migrations  databases:        {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }        {  "_id" : "snps",  "partitioned" : true,  "primary" : "s1" }                snps.elegans                        shard key: { "snp" : 1 }                        chunks:                                s1      1                                s2      1                        { "snp" : { "$minKey" : 1 } } -->> { "snp" : "haw100000" } on : s2 Timestamp(2, 0)                         { "snp" : "haw100000" } -->> { "snp" : { "$maxKey" : 1 } } on : s1 Timestamp(2, 1)         {  "_id" : "test",  "partitioned" : false,  "primary" : "s1" }mongos> 

 

MongoDB分區叢集還原

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.