mongodb複本集

來源:互聯網
上載者:User

標籤:mongodb keepalived 複本集 mongodb複本集 mongodb主從

項目目標:故障自動切換和自動修複成員節點,各個資料庫之間資料完全一致。

項目描述:複本集沒有固定主節點,是整個叢集選舉得出的一個主節點,當其不工作時變    更其他節點。最小的複本集也應該具備一個primary節點和兩secondary節點。兩個節點的複本集不具備真正的容錯移轉能力。所有Secondary都宕機、或則複本集中只剩下一個節點,則該節點只能為Secondary節點,也就意味著整個叢集智能進行讀操作而不能進行寫操作,當其他的恢複時,之前的primary節點仍然是primary節點

項目環境:三台伺服器RHEL6.5

          keepalived-1.2.7.tar.gz       

          mongodb-linux-x86_64-2.4.9.tgz

注意:複本集與主從有很大差別,但安裝過程一樣。

一、下載keepalived和mongodb源碼包

          http://yunpan.cn/cLnMGSt7v2X4s  訪問密碼 956a

二、安裝keepalived

         [[email protected] ~]yum -y install gccopenssl-devel popt popt-devel libnl libnl-devel                          kernel-devel                        #所需依賴包                       

         [[email protected]~]# tar -zxvf keepalived-1.2.7.tar.gz

         [[email protected]~]# cd keepalived-1.2.7.tar.gz

         [[email protected]]# ./configure         #安裝三部曲

         [[email protected]]# make

         [[email protected]]# make install

三、拷貝設定檔和啟動指令碼    

         [[email protected]~]# cp /usr/local/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/

         [[email protected]~]# cp /usr/local/etc/sysconfig/keepalived  /etc/sysconfig

         [[email protected]~]# mkdir /etc/keepalived

         [[email protected]~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

         [[email protected]~]# cp /usr/local/sbin/keepalived /usr/sbin/

四、添加開機啟動

         [[email protected]~]#chkconfig --add keepalived              #添加服務

         [[email protected]~]#chkconfig keepalived on                 #開機啟動

五、設定檔

         [[email protected]~]#cat /etc/keepalived/keepalived.conf

        

         !Configuration File for keepalived

         vrrp_instanceMG_1 {

                state BACKUP                                  #三台全為BACKUP

                interfaceeth 0

                virtual_router_id 55

                priority 100                       #其中兩台優先順序為100,最後一台為90

                advert_int 1

                #nopreempt                                    #不搶佔資源

                authentication {

                    auth_type PASS

                    auth_pass 1111

                }     

                virtual_ipaddress {

            192.168.0.10                                        #虛擬IP

             }

         }


六、[[email protected] ~]# service keepalived start

         正在啟動 keepalived:                                      [確定]

七、以上配置,其中兩台完全相同,最後一台優先順序設定為90,並設定為不搶佔資源。

八、命令ip a可查看虛擬IP,成功則顯示虛擬IP。

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/76/52/wKiom1ZO8xTDFHGXAAB2ZwU816M294.png" title="QQ圖片20151120181630.png" alt="wKiom1ZO8xTDFHGXAAB2ZwU816M294.png" />

九、安裝mongodb

         [[email protected] ~]# tar -zxvfmongodb-linux-x86_64-2.4.9.tgz  -C  /usr/local/

         [[email protected] local]# mv mongodb-linux-x86_64-2.4.9/ mongodb

         [[email protected] local]# cd mongodb/

         [[email protected] mongodb]# mkdir db

         [[email protected] mongodb]# mkdir logs

         [[email protected] mongodb]# cd bin

         [[email protected] bin]# cat mongodb.conf

         dbpath=/usr/local/mongodb/db                  #資料存放路徑

         logpath=/usr/local/mongodb/logs/mongodb.log

         port=27017              

         fork=true                                      #以守護進程的方式運行MongoDB

         nohttpinterface=true                           #禁止HTTP狀態介面預設情況下Mongodb                                                           在連接埠28017上運行http介面

          maxConns=5000                                 #最大同時串連數

          replSet=mongodb                               #同一複本集,必須

          #shardsvr=true                                #啟動分區

十、啟動mongodb

    [[email protected]]# numactl --interleave=all /usr/local/mongodb/bin/mongod                                    --config/usr/local/mongodb/bin/mongodb.conf

十一、[[email protected] bin]# vim /etc/bashrc

          PATH=/usr/local/mongodb/bin:$PATH             #添加命令路徑

      [[email protected] bin]# source/etc/bashrc

      [[email protected] ~]# vim/etc/rc.local

      numactl--interleave=all /usr/local/mongodb/bin/mongod --config                        /usr/local/mongodb/bin/mongodb.conf                    #追加命令,開機啟動

十二、進入資料庫,配置複本集伺服器

     [[email protected] ~]#mongo                          #進入mongodb

      MongoDB shell version: 2.4.9

      connecting to: test

      > config = {_id:"mongodb",members:[

   ...{_id:0,host:"192.168.0.100:27017",priority:10},

   ...{_id:1,host:"192.168.0.200:27017",priority:10},

   ...{_id:2,host:"192.168.0.5:27017",priority:5}]

   ...}

      >rs.initiate(config);                              #初始化複本集配置

      >rs.reconfig(cfg);                                #重新載入設定檔

十三、如果要增加伺服器可執行命令

      >rs.add({"_id":3,"host":"192.168.0.300:27017"}) 

十四、有虛擬IP,可執行命令

     [[email protected] ~]#mongo 192.168.0.10      #進入資料庫,IP為虛擬

十五、以上配置如果執行,有報錯資訊,請自己百度。本人已成功配置。




本文出自 “系統營運之道” 部落格,謝絕轉載!

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.