亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MongoDB之Replica Set(復制集復制)

系統 1998 0

MongoDB支持兩種復制模式:

  • 主從復制(Master/Slave)
  • 復制集復制(Replica Set)

下面主要記錄我在centos虛擬機上安裝replica set,主要參考:http://docs.mongodb.org/manual/tutorial/deploy-replica-set/

?

首先準備好3份配置文件:

      
        1
      
       port = 27017


      
        2
      
      
        3
      
       dbpath = /home/bells/install/
      
        data1


      
      
        4
      
       logpath = /home/bells/install/log1/1
      
        .log


      
      
        5
      
      
        6
      
       fork = 
      
        true
      
      
        7
      
       replSet = rs0
    
      
        1
      
       port = 27016


      
        2
      
      
        3
      
       dbpath = /home/bells/install/
      
        data2


      
      
        4
      
       logpath = /home/bells/install/log2/2
      
        .log


      
      
        5
      
      
        6
      
       fork = 
      
        true
      
      
        7
      
       replSet = rs0
    
      
        1
      
       port = 27015


      
        2
      
      
        3
      
       dbpath = /home/bells/install/
      
        data3


      
      
        4
      
       logpath = /home/bells/install/log3/3
      
        .log


      
      
        5
      
      
        6
      
       fork = 
      
        true
      
      
        7
      
       replSet = rs0
    

然后再啟動這3個mongodb服務

      sudo ./mongodb1/bin/mongod --smallfiles --config 1
      
        .conf

sudo .
      
      /mongodb2/bin/mongod --smallfiles --config 2
      
        .conf

sudo .
      
      /mongodb3/bin/mongod --smallfiles --config 3.conf
    

? ? ?其實smallfiles也應該寫進*.conf文件中的。

最后配置:

? ?主要是通過下面的命令

? ? ?rs.initiate() ? 使用默認的配置初始化replica set在當前的服務器

? ? ?rs.status() ? ?顯示當前replica set的狀態

? ? ?rs.add(serverInfo) ? 增加新的成員到replica set 中

? ? ?rs.addArb(serverInfo) ? ?增加一個arbiter到replica set中

      
         1
      
      
        rs.initiate()


      
      
         2
      
      
        {


      
      
         3
      
           "info2" : "no configuration explicitly specified -- making one"
      
        ,


      
      
         4
      
           "me" : "localhost.localdomain:27017"
      
        ,


      
      
         5
      
           "info" : "Config now saved locally.  Should come online in about a minute."
      
        ,


      
      
         6
      
           "ok" : 1


      
         7
      
      
        }


      
      
         8
      
       >
      
         rs.conf()


      
      
         9
      
      
        {


      
      
        10
      
           "_id" : "rs0"
      
        ,


      
      
        11
      
           "version" : 1
      
        ,


      
      
        12
      
           "members"
      
         : [


      
      
        13
      
      
                {


      
      
        14
      
                   "_id" : 0
      
        ,


      
      
        15
      
                   "host" : "localhost.localdomain:27017"


      
        16
      
      
                }


      
      
        17
      
      
            ]


      
      
        18
      
      
        }


      
      
        19
      
       rs0:PRIMARY> rs.add("localhost.localdomain:27016"
      
        )


      
      
        20
      
       { "ok" : 1
      
         }


      
      
        21
      
       rs0:PRIMARY> rs.add("localhost.localdomain:27015"
      
        )


      
      
        22
      
       { "ok" : 1
      
         }


      
      
        23
      
       rs0:PRIMARY>
      
         rs.status()


      
      
        24
      
      
        {


      
      
        25
      
           "set" : "rs0"
      
        ,


      
      
        26
      
           "date" : ISODate("2014-02-23T01:43:16Z"
      
        ),


      
      
        27
      
           "myState" : 1
      
        ,


      
      
        28
      
           "members"
      
         : [


      
      
        29
      
      
                {


      
      
        30
      
                   "_id" : 0
      
        ,


      
      
        31
      
                   "name" : "localhost.localdomain:27017"
      
        ,


      
      
        32
      
                   "health" : 1
      
        ,


      
      
        33
      
                   "state" : 1
      
        ,


      
      
        34
      
                   "stateStr" : "PRIMARY"
      
        ,


      
      
        35
      
                   "uptime" : 602
      
        ,


      
      
        36
      
                   "optime" : Timestamp(1393119782, 1
      
        ),


      
      
        37
      
                   "optimeDate" : ISODate("2014-02-23T01:43:02Z"
      
        ),


      
      
        38
      
                   "self" : 
      
        true
      
      
        39
      
      
                },


      
      
        40
      
      
                {


      
      
        41
      
                   "_id" : 1
      
        ,


      
      
        42
      
                   "name" : "localhost.localdomain:27016"
      
        ,


      
      
        43
      
                   "health" : 1
      
        ,


      
      
        44
      
                   "state" : 5
      
        ,


      
      
        45
      
                   "stateStr" : "STARTUP2"
      
        ,


      
      
        46
      
                   "uptime" : 17
      
        ,


      
      
        47
      
                   "optime" : Timestamp(0, 0
      
        ),


      
      
        48
      
                   "optimeDate" : ISODate("1970-01-01T00:00:00Z"
      
        ),


      
      
        49
      
                   "lastHeartbeat" : ISODate("2014-02-23T01:43:15Z"
      
        ),


      
      
        50
      
                   "lastHeartbeatRecv" : ISODate("2014-02-23T01:43:15Z"
      
        ),


      
      
        51
      
                   "pingMs" : 0
      
        ,


      
      
        52
      
                   "lastHeartbeatMessage" : "initial sync need a member to be primary or secondary to do our initial sync"


      
        53
      
      
                },


      
      
        54
      
      
                {


      
      
        55
      
                   "_id" : 2
      
        ,


      
      
        56
      
                   "name" : "localhost.localdomain:27015"
      
        ,


      
      
        57
      
                   "health" : 1
      
        ,


      
      
        58
      
                   "state" : 5
      
        ,


      
      
        59
      
                   "stateStr" : "STARTUP2"
      
        ,


      
      
        60
      
                   "uptime" : 14
      
        ,


      
      
        61
      
                   "optime" : Timestamp(0, 0
      
        ),


      
      
        62
      
                   "optimeDate" : ISODate("1970-01-01T00:00:00Z"
      
        ),


      
      
        63
      
                   "lastHeartbeat" : ISODate("2014-02-23T01:43:16Z"
      
        ),


      
      
        64
      
                   "lastHeartbeatRecv" : ISODate("2014-02-23T01:43:16Z"
      
        ),


      
      
        65
      
                   "pingMs" : 1
      
        ,


      
      
        66
      
                   "lastHeartbeatMessage" : "syncThread: 12520 new file allocation failure"


      
        67
      
      
                }


      
      
        68
      
      
            ],


      
      
        69
      
           "ok" : 1


      
        70
      
      
        }


      
      
        71
      
       rs0:PRIMARY> db.person.insert({"name":"jack", "age":20
      
        })


      
      
        72
      
       rs0:PRIMARY>
      
         db.person.find()


      
      
        73
      
       { "_id" : ObjectId("5309529869d3a7216c59ef2a"), "name" : "jack", "age" : 20 }
    
      
        1
      
       [bells@localhost install]$ ./mongodb2/bin/mongo --port 27016


      
        2
      
       MongoDB shell version: 2.4.5


      
        3
      
       connecting to: 127.0.0.1:27016/
      
        test


      
      
        4
      
       rs0:SECONDARY>
      
         db.person.find()


      
      
        5
      
       error: { "$err" : "not master and slaveOk=false", "code" : 13435
      
         }


      
      
        6
      
       rs0:SECONDARY>
      
         rs.slaveOk();


      
      
        7
      
       rs0:SECONDARY>
      
         db.person.find()


      
      
        8
      
       { "_id" : ObjectId("5309529869d3a7216c59ef2a"), "name" : "jack", "age" : 20 }
    

安裝部署過程中,遇到兩個問題:

1. 啟動mongodb時,錯誤日志:

? ? ?

      
        1
      
       Sun Feb 23 09:47:57.930 [initandlisten] ERROR: Insufficient free space 
      
        for
      
      
         journal files


      
      
        2
      
       Sun Feb 23 09:47:57.930 [initandlisten] Please make at least 3379MB available in /home/bells/install/data1/journal or use --
      
        smallfiles


      
      
        3
      
       Sun Feb 23 09:47:57.930
      
         [initandlisten] 


      
      
        4
      
       Sun Feb 23 09:47:57.953 [initandlisten] exception in initAndListen: 15926 Insufficient free space 
      
        for
      
       journals, terminating
    

? ? ? 解決辦法就是,啟動的時候,加個 ? --smallfiles : 這個參數默認值是false,如果設為true,則會是每個文件最大的大小限定為512M而不是默認的2G

2. 在secondary中,查詢時:

      
        1
      
       rs0:SECONDARY>
      
         db.person.find()


      
      
        2
      
       error: { "$err" : "not master and slaveOk=false", "code" : 13435 }
    

這個是正常的,因為SECONDARY默認是不允許讀寫操作的,可以:

      rs0:SECONDARY> db.slaveOk();
    

來解決!

MongoDB之Replica Set(復制集復制)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日日操天天操 | 国产高清视频在线播放 | 亚洲综合精品成人啪啪 | 久久精品女人毛片国产 | 成人国产综合 | 国四虎影永久 | 久草性视频 | 高清欧美日本视频免费观看 | 97干色| 久久色网 | 天天干天天玩天天操 | 亚洲qingse中文字幕久久 | 一区二区精品在线观看 | 久久九九有精品国产56 | 国产免费久久精品 | 在线综合+亚洲+欧美中文字幕 | 97成人免费视频 | 欧美精品一区二区三区视频 | 交换国产精品视频一区 | 免费香蕉一区二区在线观看 | 成人亚洲欧美日韩中文字幕 | 997在线观看视频国产 | 六月丁香深爱六月综合激情 | 国产夜色| 青青青草视频在线 | 亚洲欧美v视色一区二区 | 欧美日韩日本国产 | a高清免费毛片久久 | 国产综合成人亚洲区 | 天天透天天狠 | 色综合欧美色综合七久久 | 国产美女久久久久久久久久久 | 欧美一级视频在线观看 | 免费区欧美一级毛片精品 | 国产高清a毛片在线看 | 日本一级大黄毛片一级 | 日本一级爰免费视频 | 久久精品福利 | 伊人久久综合影院首页 | 久久久久久久久性潮 | 99久久精品免费观看国产 |