五、mongodb的管理
1、mongodb的启动
mongod -config "/opt/config.conf"
?
2、mongodb的停止
(1)、> use admin
?? ? ? > db.shutdownServer()
?
(2)、db.adminCommand({shutdown : 1})
?
3、备份与恢复:
冷备份: 关闭mongod,拷贝数据库文件,启动mongod,恢复时一样
热备份:(1)、使用mongodump备份,mongorestore恢复
??(2)、使用mongoexport备份,mongoimport恢复
?? ? ? ? ?(3)、创建主从复制机制,自动同步
?
4、修复
db.repairDatabase();
修复数据库可以释放删除的空间,但是非常耗时。
?
5、监控
(1)、mongostat ?每一行数据是指一秒的数据
这是监控路由的

这是监控其中一个分片的
(2)、db.serverStatus() ?可以查看服务器运行状态,比如队列情况,客户端连接情况,内存使用情况等
?
shard2:PRIMARY> db.serverStatus()
{
?? ? ? ?"host" : "10.103.8.1:27301",
?? ? ? ?"version" : "1.8.2",
?? ? ? ?"process" : "mongod",
?? ? ? ?"uptime" : 622141,
?? ? ? ?"uptimeEstimate" : 620875,
?? ? ? ?"localTime" : ISODate("2011-10-24T09:24:32.208Z"),
?? ? ? ?"globalLock" : {
?? ? ? ? ? ? ? ?"totalTime" : 622140638675,
?? ? ? ? ? ? ? ?"lockTime" : 19277298771,
?? ? ? ? ? ? ? ?"ratio" : 0.030985435724076315,
?? ? ? ? ? ? ? ?"currentQueue" : {
?? ? ? ? ? ? ? ? ? ? ? ?"total" : 0,
?? ? ? ? ? ? ? ? ? ? ? ?"readers" : 0,
?? ? ? ? ? ? ? ? ? ? ? ?"writers" : 0
?? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ?"activeClients" : {
?? ? ? ? ? ? ? ? ? ? ? ?"total" : 0,
?? ? ? ? ? ? ? ? ? ? ? ?"readers" : 0,
?? ? ? ? ? ? ? ? ? ? ? ?"writers" : 0
?? ? ? ? ? ? ? ?}
?? ? ? ?},
?? ? ? ?"mem" : {
?? ? ? ? ? ? ? ?"bits" : 64,
?? ? ? ? ? ? ? ?"resident" : 13211,
?? ? ? ? ? ? ? ?"virtual" : 154962,
?? ? ? ? ? ? ? ?"supported" : true,
?? ? ? ? ? ? ? ?"mapped" : 75333
?? ? ? ?},
?? ? ? ?"connections" : {
?? ? ? ? ? ? ? ?"current" : 298,
?? ? ? ? ? ? ? ?"available" : 1702
?? ? ? ?},
?? ? ? ?"extra_info" : {
?? ? ? ? ? ? ? ?"note" : "fields vary by platform",
?? ? ? ? ? ? ? ?"heap_usage_bytes" : 71949920,
?? ? ? ? ? ? ? ?"page_faults" : 1900488
?? ? ? ?},
?? ? ? ?"indexCounters" : {
?? ? ? ? ? ? ? ?"btree" : {
?? ? ? ? ? ? ? ? ? ? ? ?"accesses" : 1663787,
?? ? ? ? ? ? ? ? ? ? ? ?"hits" : 1662772,
?? ? ? ? ? ? ? ? ? ? ? ?"misses" : 1015,
?? ? ? ? ? ? ? ? ? ? ? ?"resets" : 0,
?? ? ? ? ? ? ? ? ? ? ? ?"missRatio" : 0.0006100540513899916
?? ? ? ? ? ? ? ?}
?? ? ? ?},
?? ? ? ?"backgroundFlushing" : {
?? ? ? ? ? ? ? ?"flushes" : 10365,
?? ? ? ? ? ? ? ?"total_ms" : 22968461,
?? ? ? ? ? ? ? ?"average_ms" : 2215.9634346357934,
?? ? ? ? ? ? ? ?"last_ms" : 5998,
?? ? ? ? ? ? ? ?"last_finished" : ISODate("2011-10-24T09:24:03.789Z")
?? ? ? ?},
?? ? ? ?"cursors" : {
?? ? ? ? ? ? ? ?"totalOpen" : 1,
?? ? ? ? ? ? ? ?"clientCursors_size" : 1,
?? ? ? ? ? ? ? ?"timedOut" : 107
?? ? ? ?},
?? ? ? ?"network" : {
?? ? ? ? ? ? ? ?"bytesIn" : 11194753826,
?? ? ? ? ? ? ? ?"bytesOut" : 34437284795,
?? ? ? ? ? ? ? ?"numRequests" : 108119138
?? ? ? ?},
?? ? ? ?"repl" : {
?? ? ? ? ? ? ? ?"setName" : "shard2",
?? ? ? ? ? ? ? ?"ismaster" : true,
?? ? ? ? ? ? ? ?"secondary" : false,
?? ? ? ? ? ? ? ?"hosts" : [
?? ? ? ? ? ? ? ? ? ? ? ?"10.103.8.1:27301",
?? ? ? ? ? ? ? ? ? ? ? ?"10.103.8.2:27301"
?? ? ? ? ? ? ? ?],
?? ? ? ? ? ? ? ?"arbiters" : [
?? ? ? ? ? ? ? ? ? ? ? ?"10.103.8.3:27301"
?? ? ? ? ? ? ? ?]
?? ? ? ?},
?? ? ? ?"opcounters" : {
?? ? ? ? ? ? ? ?"insert" : 12122682,
?? ? ? ? ? ? ? ?"query" : 62490747,
?? ? ? ? ? ? ? ?"update" : 4351305,
?? ? ? ? ? ? ? ?"delete" : 550980,
?? ? ? ? ? ? ? ?"getmore" : 8868452,
?? ? ? ? ? ? ? ?"command" : 19732955
?? ? ? ?},
?? ? ? ?"asserts" : {
?? ? ? ? ? ? ? ?"regular" : 0,
?? ? ? ? ? ? ? ?"warning" : 22,
?? ? ? ? ? ? ? ?"msg" : 0,
?? ? ? ? ? ? ? ?"user" : 1876,
?? ? ? ? ? ? ? ?"rollovers" : 0
?? ? ? ?},
?? ? ? ?"writeBacksQueued" : false,
?? ? ? ?"dur" : {
?? ? ? ? ? ? ? ?"commits" : 24,
?? ? ? ? ? ? ? ?"journaledMB" : 2.801664,
?? ? ? ? ? ? ? ?"writeToDataFilesMB" : 0,
?? ? ? ? ? ? ? ?"commitsInWriteLock" : 0,
?? ? ? ? ? ? ? ?"earlyCommits" : 0,
?? ? ? ? ? ? ? ?"timeMs" : {
?? ? ? ? ? ? ? ? ? ? ? ?"dt" : 3074,
?? ? ? ? ? ? ? ? ? ? ? ?"prepLogBuffer" : 12,
?? ? ? ? ? ? ? ? ? ? ? ?"writeToJournal" : 438,
?? ? ? ? ? ? ? ? ? ? ? ?"writeToDataFiles" : 37,
?? ? ? ? ? ? ? ? ? ? ? ?"remapPrivateView" : 12
?? ? ? ? ? ? ? ?}
?? ? ? ?},
?? ? ? ?"ok" : 1
}
?
(3)、db.stats() 可以查看一个数据库的信息,例如索引大小,数据大小等
?
> db.stats()
{
?? ? ? ?"raw" : {
?? ? ? ? ? ? ? ?"shard1/10.103.8.1:27300,10.103,8.2:27300" : {
?? ? ? ? ? ? ? ? ? ? ? ?"db" : "aipai",
?? ? ? ? ? ? ? ? ? ? ? ?"collections" : 4,
?? ? ? ? ? ? ? ? ? ? ? ?"objects" : 1872011,
?? ? ? ? ? ? ? ? ? ? ? ?"avgObjSize" : 415.3371684247582,
?? ? ? ? ? ? ? ? ? ? ? ?"dataSize" : 777515748,
?? ? ? ? ? ? ? ? ? ? ? ?"storageSize" : 902560512,
?? ? ? ? ? ? ? ? ? ? ? ?"numExtents" : 30,
?? ? ? ? ? ? ? ? ? ? ? ?"indexes" : 4,
?? ? ? ? ? ? ? ? ? ? ? ?"indexSize" : 301293568,
?? ? ? ? ? ? ? ? ? ? ? ?"fileSize" : 4226809856,
?? ? ? ? ? ? ? ? ? ? ? ?"ok" : 1
?? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ?"shard2/10.103.8.1:27301,10.103.8.2:27301" : {
?? ? ? ? ? ? ? ? ? ? ? ?"db" : "aipai",
?? ? ? ? ? ? ? ? ? ? ? ?"collections" : 3,
?? ? ? ? ? ? ? ? ? ? ? ?"objects" : 2496490,
?? ? ? ? ? ? ? ? ? ? ? ?"avgObjSize" : 421.5741845551154,
?? ? ? ? ? ? ? ? ? ? ? ?"dataSize" : 1052455736,
?? ? ? ? ? ? ? ? ? ? ? ?"storageSize" : 1300803840,
?? ? ? ? ? ? ? ? ? ? ? ?"numExtents" : 26,
?? ? ? ? ? ? ? ? ? ? ? ?"indexes" : 2,
?? ? ? ? ? ? ? ? ? ? ? ?"indexSize" : 402424768,
?? ? ? ? ? ? ? ? ? ? ? ?"fileSize" : 4226809856,
?? ? ? ? ? ? ? ? ? ? ? ?"ok" : 1
?? ? ? ? ? ? ? ?}
?? ? ? ?},
?? ? ? ?"objects" : 4368501,
?? ? ? ?"avgObjSize" : 418.90146848999234,
?? ? ? ?"dataSize" : 1829971484,
?? ? ? ?"storageSize" : 2203364352,
?? ? ? ?"numExtents" : 56,
?? ? ? ?"indexes" : 6,
?? ? ? ?"indexSize" : 703718336,
?? ? ? ?"fileSize" : 8453619712,
?? ? ? ?"ok" : 1
}
?
(4)、rs.status() 连接mongod,运行rs.status()可以查看shard的状态以及各个机器的运行状态
?
shard2:PRIMARY> rs.status()
{
?? ? ? ?"set" : "shard2",
?? ? ? ?"date" : ISODate("2011-10-24T09:31:55Z"),
?? ? ? ?"myState" : 1,
?? ? ? ?"members" : [
?? ? ? ? ? ? ? ?{
?? ? ? ? ? ? ? ? ? ? ? ?"_id" : 7,
?? ? ? ? ? ? ? ? ? ? ? ?"name" : "10.103.8.1:27301",
?? ? ? ? ? ? ? ? ? ? ? ?"health" : 1,
?? ? ? ? ? ? ? ? ? ? ? ?"state" : 2,
?? ? ? ? ? ? ? ? ? ? ? ?"stateStr" : "SECONDARY",
?? ? ? ? ? ? ? ? ? ? ? ?"uptime" : 370466,
?? ? ? ? ? ? ? ? ? ? ? ?"optime" : {
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : 1319448713000,
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"i" : 12
?? ? ? ? ? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ? ? ? ? ?"optimeDate" : ISODate("2011-10-24T09:31:53Z"),
?? ? ? ? ? ? ? ? ? ? ? ?"lastHeartbeat" : ISODate("2011-10-24T09:31:53Z")
?? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ?{
?? ? ? ? ? ? ? ? ? ? ? ?"_id" : 8,
?? ? ? ? ? ? ? ? ? ? ? ?"name" : "10.103.8.2:27301",
?? ? ? ? ? ? ? ? ? ? ? ?"health" : 1,
?? ? ? ? ? ? ? ? ? ? ? ?"state" : 1,
?? ? ? ? ? ? ? ? ? ? ? ?"stateStr" : "PRIMARY",
?? ? ? ? ? ? ? ? ? ? ? ?"optime" : {
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : 1319448715000,
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"i" : 2
?? ? ? ? ? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ? ? ? ? ?"optimeDate" : ISODate("2011-10-24T09:31:55Z"),
?? ? ? ? ? ? ? ? ? ? ? ?"self" : true
?? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ?{
?? ? ? ? ? ? ? ? ? ? ? ?"_id" : 9,
?? ? ? ? ? ? ? ? ? ? ? ?"name" : "10.103.8.3:27301",
?? ? ? ? ? ? ? ? ? ? ? ?"health" : 1,
?? ? ? ? ? ? ? ? ? ? ? ?"state" : 7,
?? ? ? ? ? ? ? ? ? ? ? ?"stateStr" : "ARBITER",
?? ? ? ? ? ? ? ? ? ? ? ?"uptime" : 370466,
?? ? ? ? ? ? ? ? ? ? ? ?"optime" : {
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"t" : 0,
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"i" : 0
?? ? ? ? ? ? ? ? ? ? ? ?},
?? ? ? ? ? ? ? ? ? ? ? ?"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
?? ? ? ? ? ? ? ? ? ? ? ?"lastHeartbeat" : ISODate("2011-10-24T09:31:54Z")
?? ? ? ? ? ? ? ?}
?? ? ? ?],
?? ? ? ?"ok" : 1
}