MongoDB 2.6.4 主從同步

來源:互聯網
上載者:User

單機主從模式

1:啟動master

[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data --port 10000 --master2014-09-05T15:11:50.115+0800 [initandlisten] MongoDB starting : pid=23623 port=10000 dbpath=/home/jifeng/mongodb-linux-x86_64-2.6.4/data master=1 64-bit host=jifeng042014-09-05T15:11:50.116+0800 [initandlisten] db version v2.6.42014-09-05T15:11:50.116+0800 [initandlisten] git version: 3a830be0eb92d772aa855ebb711ac91d658ee9102014-09-05T15:11:50.117+0800 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_492014-09-05T15:11:50.117+0800 [initandlisten] allocator: tcmalloc2014-09-05T15:11:50.117+0800 [initandlisten] options: { master: true, net: { port: 10000 }, storage: { dbPath: "/home/jifeng/mongodb-linux-x86_64-2.6.4/data" } }2014-09-05T15:11:50.127+0800 [initandlisten] journal dir=/home/jifeng/mongodb-linux-x86_64-2.6.4/data/journal2014-09-05T15:11:50.127+0800 [initandlisten] recover : no journal files present, no recovery needed2014-09-05T15:11:50.298+0800 [initandlisten] waiting for connections on port 10000


2:啟動slave

[jifeng@jifeng04 ~]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data2 --port 10001 --slave --source localhost:100002014-09-05T15:12:48.411+0800 [initandlisten] MongoDB starting : pid=23636 port=10001 dbpath=/home/jifeng/mongodb-linux-x86_64-2.6.4/data2 slave=1 64-bit host=jifeng042014-09-05T15:12:48.412+0800 [initandlisten] db version v2.6.42014-09-05T15:12:48.412+0800 [initandlisten] git version: 3a830be0eb92d772aa855ebb711ac91d658ee9102014-09-05T15:12:48.412+0800 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_492014-09-05T15:12:48.412+0800 [initandlisten] allocator: tcmalloc2014-09-05T15:12:48.413+0800 [initandlisten] options: { net: { port: 10001 }, slave: true, source: "localhost:10000", storage: { dbPath: "/home/jifeng/mongodb-linux-x86_64-2.6.4/data2" } }2014-09-05T15:12:48.417+0800 [initandlisten] journal dir=/home/jifeng/mongodb-linux-x86_64-2.6.4/data2/journal2014-09-05T15:12:48.417+0800 [initandlisten] recover : no journal files present, no recovery needed2014-09-05T15:12:48.434+0800 [initandlisten] waiting for connections on port 100012014-09-05T15:12:49.438+0800 [replslave] repl: syncing from host:localhost:10000
2014-09-05T15:13:48.454+0800 [clientcursormon] mem (MB) res:51 virt:5842014-09-05T15:13:48.454+0800 [clientcursormon]  mapped (incl journal view):3202014-09-05T15:13:48.454+0800 [clientcursormon]  connections:02014-09-05T15:14:04.315+0800 [replslave] repl:   checkpoint applied 285 operations2014-09-05T15:14:04.316+0800 [replslave] repl:   syncedTo: Sep  5 15:13:54 540962b2:1

3:顯示資料

[jifeng@jifeng04 ~]$ mongo localhost:10000MongoDB shell version: 2.6.4connecting to: localhost:10000/test> db.master.find(){ "_id" : ObjectId("540942bed89f094a5fbd9b5a"), "uid" : 1000 }{ "_id" : ObjectId("540946bcd89f094a5fbd9b5b"), "uid" : 1001 }{ "_id" : ObjectId("540956b7789903d8baf6b1b3"), "uid" : 1002 }> 

[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongo localhost:10001        MongoDB shell version: 2.6.4connecting to: localhost:10001/test> db.master.find(){ "_id" : ObjectId("540942bed89f094a5fbd9b5a"), "uid" : 1000 }{ "_id" : ObjectId("540946bcd89f094a5fbd9b5b"), "uid" : 1001 }{ "_id" : ObjectId("540956b7789903d8baf6b1b3"), "uid" : 1002 }

4:主寫資料

> db.master.insert({uid:1004})WriteResult({ "nInserted" : 1 })> db.master.find(){ "_id" : ObjectId("540942bed89f094a5fbd9b5a"), "uid" : 1000 }{ "_id" : ObjectId("540946bcd89f094a5fbd9b5b"), "uid" : 1001 }{ "_id" : ObjectId("540956b7789903d8baf6b1b3"), "uid" : 1002 }{ "_id" : ObjectId("5409638c0a6617467df195ec"), "uid" : 1004 }> 
從查詢資料

[jifeng@jifeng04 ~]$ cd mongodb-linux-x86_64-2.6.4[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongo localhost:10001        MongoDB shell version: 2.6.4connecting to: localhost:10001/test> db.master.find(){ "_id" : ObjectId("540942bed89f094a5fbd9b5a"), "uid" : 1000 }{ "_id" : ObjectId("540946bcd89f094a5fbd9b5b"), "uid" : 1001 }{ "_id" : ObjectId("540956b7789903d8baf6b1b3"), "uid" : 1002 }> db.master.find(){ "_id" : ObjectId("540942bed89f094a5fbd9b5a"), "uid" : 1000 }{ "_id" : ObjectId("540946bcd89f094a5fbd9b5b"), "uid" : 1001 }{ "_id" : ObjectId("540956b7789903d8baf6b1b3"), "uid" : 1002 }{ "_id" : ObjectId("5409638c0a6617467df195ec"), "uid" : 1004 }> 
從機日誌

2014-09-05T15:15:48.791+0800 [initandlisten] connection accepted from 127.0.0.1:35622 #1 (1 connection now open)2014-09-05T15:16:34.336+0800 [replslave] repl:   checkpoint applied 15 operations2014-09-05T15:16:34.336+0800 [replslave] repl:   syncedTo: Sep  5 15:16:24 54096348:12014-09-05T15:18:48.556+0800 [clientcursormon] mem (MB) res:36 virt:5852014-09-05T15:18:48.556+0800 [clientcursormon]  mapped (incl journal view):3202014-09-05T15:18:48.556+0800 [clientcursormon]  connections:12014-09-05T15:18:54.357+0800 [replslave] repl:   checkpoint applied 15 operations2014-09-05T15:18:54.358+0800 [replslave] repl:   syncedTo: Sep  5 15:18:44 540963d4:1

關閉MongoDB :

方法一:

[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongod  --shutdown  --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/datakilling process with pid: 22745
方法二:

<pre name="code" class="html"><pre name="code" class="html">[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongo localhost:10000        MongoDB shell version: 2.6.4connecting to: localhost:10001/test> use admin;switched to db admin> db.shutdownServer();2014-09-05T15:23:59.910+0800 DBClientCursor::init call() failedserver should be down...2014-09-05T15:23:59.912+0800 trying reconnect to localhost:10000 (127.0.0.1) failed2014-09-05T15:23:59.915+0800 warning: Failed to connect to 127.0.0.1:10000, reason: errno:111 Connection refused2014-09-05T15:23:59.915+0800 reconnect localhost:10000 (127.0.0.1) failed failed couldn't connect to server localhost:10000 (127.0.0.1), connection attempt failed> exit;[jifeng@jifeng04 ~]$ 


 
 


多機主從模式:

[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mkdir log[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data --master --rest --nojournal --fork --logpath /home/jifeng/mongodb-linux-x86_64-2.6.4/log2014-09-05T10:31:44.158+0800 ** WARNING: --rest is specified without --httpinterface,2014-09-05T10:31:44.172+0800 **          enabling http interfaceabout to fork child process, waiting until server is ready for connections.forked process: 22535ERROR: child process failed, exited with error number 1

報錯,發現記錄檔不存在

[jifeng@jifeng04 mongodb-linux-x86_64-2.6.4]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data --master --rest --nojournal --fork --logpath /home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log2014-09-05T16:12:09.321+0800 ** WARNING: --rest is specified without --httpinterface,2014-09-05T16:12:09.322+0800 **          enabling http interfaceabout to fork child process, waiting until server is ready for connections.forked process: 24061child process started successfully, parent exiting

啟動成功,rest有問題

2:啟動slave


[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data   --slave --source jifeng04:27017 --rest --nojournal --fork --logpath /home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log2014-09-05T16:13:57.872+0800 ** WARNING: --rest is specified without --httpinterface,2014-09-05T16:13:57.872+0800 **          enabling http interfaceabout to fork child process, waiting until server is ready for connections.forked process: 2787child process started successfully, parent exiting[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ cat log/mongod.log2014-09-05T16:13:57.883+0800 [initandlisten] MongoDB starting : pid=2787 port=27017 dbpath=/home/jifeng/mongodb-linux-x86_64-2.6.4/data slave=1 64-bit host=jifeng052014-09-05T16:13:57.883+0800 [initandlisten] db version v2.6.42014-09-05T16:13:57.883+0800 [initandlisten] git version: 3a830be0eb92d772aa855ebb711ac91d658ee9102014-09-05T16:13:57.883+0800 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_492014-09-05T16:13:57.883+0800 [initandlisten] allocator: tcmalloc2014-09-05T16:13:57.883+0800 [initandlisten] options: { net: { http: { RESTInterfaceEnabled: true, enabled: true } }, processManagement: { fork: true }, slave: true, source: "jifeng04:27017", storage: { dbPath: "/home/jifeng/mongodb-linux-x86_64-2.6.4/data", journal: { enabled: false } }, systemLog: { destination: "file", path: "/home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log" } }2014-09-05T16:13:57.929+0800 [initandlisten] waiting for connections on port 270172014-09-05T16:13:57.929+0800 [websvr] admin web console waiting for connections on port 280172014-09-05T16:13:58.929+0800 [replslave] repl: --source jifeng04:27017 != jifeng04 from local.sources collection2014-09-05T16:13:58.929+0800 [replslave] repl: for instructions on changing this slave's source, see:2014-09-05T16:13:58.929+0800 [replslave] http://dochub.mongodb.org/core/masterslave2014-09-05T16:13:58.929+0800 [replslave] repl: terminating mongod after 30 seconds
錯誤提示: repl: --source jifeng04:27017 != jifeng04 from local.sources collection
[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data   --slave --source 10.5.4.57:27017 --rest --nojournal --fork --logpath /home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log        2014-09-05T16:15:59.408+0800 ** WARNING: --rest is specified without --httpinterface,2014-09-05T16:15:59.408+0800 **          enabling http interfaceabout to fork child process, waiting until server is ready for connections.forked process: 2809child process started successfully, parent exiting[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ cat log/mongod.log2014-09-05T16:15:59.415+0800 [initandlisten] MongoDB starting : pid=2809 port=27017 dbpath=/home/jifeng/mongodb-linux-x86_64-2.6.4/data slave=1 64-bit host=jifeng052014-09-05T16:15:59.415+0800 [initandlisten] db version v2.6.42014-09-05T16:15:59.415+0800 [initandlisten] git version: 3a830be0eb92d772aa855ebb711ac91d658ee9102014-09-05T16:15:59.415+0800 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_492014-09-05T16:15:59.415+0800 [initandlisten] allocator: tcmalloc2014-09-05T16:15:59.415+0800 [initandlisten] options: { net: { http: { RESTInterfaceEnabled: true, enabled: true } }, processManagement: { fork: true }, slave: true, source: "10.5.4.57:27017", storage: { dbPath: "/home/jifeng/mongodb-linux-x86_64-2.6.4/data", journal: { enabled: false } }, systemLog: { destination: "file", path: "/home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log" } }2014-09-05T16:15:59.447+0800 [initandlisten] waiting for connections on port 270172014-09-05T16:15:59.449+0800 [websvr] admin web console waiting for connections on port 280172014-09-05T16:16:00.449+0800 [replslave] repl: --source 10.5.4.57:27017 != jifeng04 from local.sources collection2014-09-05T16:16:00.449+0800 [replslave] repl: for instructions on changing this slave's source, see:2014-09-05T16:16:00.449+0800 [replslave] http://dochub.mongodb.org/core/masterslave2014-09-05T16:16:00.449+0800 [replslave] repl: terminating mongod after 30 seconds[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ 

 錯誤提示:repl: --source 10.5.4.57:27017 != jifeng04 from local.sources collection


[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ mongod --dbpath /home/jifeng/mongodb-linux-x86_64-2.6.4/data   --slave --source jifeng04 --rest --nojournal --fork --logpath /home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log                2014-09-05T16:19:02.564+0800 ** WARNING: --rest is specified without --httpinterface,2014-09-05T16:19:02.564+0800 **          enabling http interfaceabout to fork child process, waiting until server is ready for connections.forked process: 2832child process started successfully, parent exiting[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ cat log/mongod.log2014-09-05T16:19:02.575+0800 [initandlisten] MongoDB starting : pid=2832 port=27017 dbpath=/home/jifeng/mongodb-linux-x86_64-2.6.4/data slave=1 64-bit host=jifeng052014-09-05T16:19:02.575+0800 [initandlisten] db version v2.6.42014-09-05T16:19:02.575+0800 [initandlisten] git version: 3a830be0eb92d772aa855ebb711ac91d658ee9102014-09-05T16:19:02.575+0800 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_492014-09-05T16:19:02.575+0800 [initandlisten] allocator: tcmalloc2014-09-05T16:19:02.575+0800 [initandlisten] options: { net: { http: { RESTInterfaceEnabled: true, enabled: true } }, processManagement: { fork: true }, slave: true, source: "jifeng04", storage: { dbPath: "/home/jifeng/mongodb-linux-x86_64-2.6.4/data", journal: { enabled: false } }, systemLog: { destination: "file", path: "/home/jifeng/mongodb-linux-x86_64-2.6.4/log/mongod.log" } }2014-09-05T16:19:02.608+0800 [initandlisten] waiting for connections on port 270172014-09-05T16:19:02.610+0800 [websvr] admin web console waiting for connections on port 280172014-09-05T16:19:03.612+0800 [replslave] repl: syncing from host:jifeng042014-09-05T16:19:03.613+0800 [replslave] warning: Failed to connect to 10.5.4.57:27017, reason: errno:113 No route to host2014-09-05T16:19:03.613+0800 [replslave] repl: couldn't connect to server jifeng04:27017 (10.5.4.57), connection attempt failed2014-09-05T16:19:03.613+0800 [replslave] repl: sleep 3 sec before next pass[jifeng@jifeng05 mongodb-linux-x86_64-2.6.4]$ 

 錯誤提示:warning: Failed to connect to 10.5.4.57:27017, reason: errno:113 No route to host

串連不上

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.