中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mongodb復制集的實現

發布時間:2020-07-17 21:32:14 來源:網絡 閱讀:923 作者:DBAspace 欄目:MongoDB數據庫

    復制集(Replica Sets),是一個基于主/從復制機制的復制功能,進行同一數據的異步同步,從而使多臺機器擁有同一數據的都多個副本,由于有自動故障轉移和恢復特性,當主庫宕機時不需要用戶干預的情況下自動切換到其他備份服務器上做主庫,一個集群最多可以支持7個服務器,并且任意節點都可以是主節點。所有的寫操作都被分發到主節點,而讀操作可以在任何節點上進行,實現讀寫分離,提高負載。

資源有限測試一個VM開3個實例:

環境:centos7.0

192.168.1.21:20011 P

192.168.1.21:20012 S

192.168.1.21:20013  A

mongodb verson:3.2

搭建過程:

1、下載包、并解壓

2、添加相關的目錄文件

[root@localhost mongodb27017]# ll

總用量 8

drwxr-xr-x. 2 root root 4096 12月 17 00:59 bin

drwxr-xr-x. 2 root root   30 12月 17 10:47 conf

drwxr-xr-x  4 root root 4096 12月 17 11:19 data

drwxr-xr-x. 2 root root   20 12月 17 01:13 key

drwxr-xr-x. 2 root root   23 12月 17 10:20 logs

#3個實例配置一樣

3、解壓包下bin目錄下的所有文件到cp到當前的創建的bin目錄下

4、3個實例的配置文件一致


[root@localhost conf]# cat mongodb27017.conf 

port=20011#每個實例端口,根據實際來配置

dbpath=/export/mongodb27017/data #數據目錄

logpath=/export/mongodb27017/logs/mongod.log #日志目錄

fork=true

logappend=true

#keyFile=/export/mongodb27017/key/mongodb#后面介紹

nohttpinterface=true

replSet=mongodb ##復制集的名字,

5、啟動3個實例:


 /export/mongodb27018/bin/mongod -f /export/mongodb27018/conf/mongodb27018.conf

/export/mongodb27019/bin/mongod -f /export/mongodb27019/conf/mongodb27019.conf

/export/mongodb27017/bin/mongod -f /export/mongodb27017/conf/mongodb27017.conf

#需要把解壓包bin目錄下文件分別拷貝到這3個啟動目錄下,或者一個作為basedir也可以,其他分開

6、配置復制集

/export/mongodb27017/bin/mongo --port 20011#根據自己實際的定義,進入數據庫

1、配置成員的關系:

     config = {_id:"mongodb", members:[{_id:0,host:"192.168.1.21:20011", priority : 3}]}        (給了優先級為3,mongodb為復制集的名)

2、初始化:

 >rs.initiate(config);  

3、添加備節點、仲裁節點


rs.add("192.168.1.21:20012")       添加備節點

rs.addArb("192.168.1.21:20013")    添加仲裁節點

rs.status()#查看狀態

rs.conf()#查看副本集成員及其優先級(看好成員的順序,優先級從1-100,越大的優先級越高)


config=rs.conf()           進行優先級設置

config.members[0].priority = 3                 設置主節點優先級為3

 config.members[1].priority = 2                 設置備節點優先級為2

 config.members[2].priority =  1                設置仲裁節點優先級為1

 rs.remove("ip:port")                            移除已經存在的成員

 rs.reconfig(config)          保存配置,生效

7、設置備節點為slave

mongodb:SECONDARY> show dbs

2016-12-17T12:26:22.621+0800 E QUERY    [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 } :

登陸到20012實例上執行:rs.slaveOk()

8、測試主節點宕機是否能夠切換

總結:    

    mongoDB的主從模式其實就是一個單副本的應用,沒有很好的擴展性和容錯性。而副本集具有多個副本保證了容錯性,就算一個副本掛掉了還有很多副本存在,并且解決了上面第一個問題“主節點掛掉了,整個集群內會自動切換”,如果節點掛了,它會重新選舉新的主節點。對于普通的業務能夠滿足,但高并發的話,復制集是無法滿足,就需要shard的,實現集群高可用,可以借助LVS或者其他。





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元阳县| 视频| 渝北区| 韶关市| 桦川县| 高阳县| 六枝特区| 海伦市| 黑水县| 康乐县| 胶州市| 马山县| 旬邑县| 华池县| 额尔古纳市| 始兴县| 怀远县| 兰考县| 鄂托克旗| 闸北区| 洪洞县| 天气| 武山县| 宽甸| 昌宁县| 通海县| 象州县| 修武县| 敖汉旗| 桂平市| 侯马市| 邯郸市| 周口市| 乌鲁木齐县| 彩票| 河源市| 彭阳县| 青浦区| 胶南市| 新龙县| 克拉玛依市|