123213 发表于 2015-11-23 10:15:44

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
         yum -y install gccopenssl-devel popt popt-devel libnl libnl-devel                        kernel-devel                        #所需依赖包                     
         # tar -zxvf keepalived-1.2.7.tar.gz
         # cd keepalived-1.2.7.tar.gz
         [root@mongodb1keepalived-1.2.7]# ./configure         #安装三部曲
         [root@mongodb1keepalived-1.2.7]# make
         [root@mongodb1keepalived-1.2.7]# make install
三、拷贝配置文件和启动脚本   
         # cp /usr/local/etc/rc.d/init.d/keepalived/etc/rc.d/init.d/
         # cp /usr/local/etc/sysconfig/keepalived/etc/sysconfig
         # mkdir /etc/keepalived
         # cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
         # cp /usr/local/sbin/keepalived /usr/sbin/
四、添加开机启动
         #chkconfig --add keepalived            #添加服务
         #chkconfig keepalived on               #开机启动
五、配置文件

         #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
             }
         }

六、# service keepalived start
         正在启动 keepalived:                                    [确定]
七、以上配置,其中两台完全相同,最后一台优先级设定为90,并设置为不抢占资源。
八、命令ip a可查看虚拟IP,成功则显示虚拟IP。

九、安装mongodb
         # tar -zxvfmongodb-linux-x86_64-2.4.9.tgz-C/usr/local/
         # mv mongodb-linux-x86_64-2.4.9/ mongodb
         # cd mongodb/
         # mkdir db
         # mkdir logs
         # cd 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
    # numactl --interleave=all /usr/local/mongodb/bin/mongod                                    --config/usr/local/mongodb/bin/mongodb.conf
十一、# vim /etc/bashrc
          PATH=/usr/local/mongodb/bin:$PATH             #添加命令路径
      # source/etc/bashrc
      # vim/etc/rc.local
      numactl--interleave=all /usr/local/mongodb/bin/mongod --config                        /usr/local/mongodb/bin/mongodb.conf                  #追加命令,开机启动
十二、进入数据库,配置副本集服务器
   #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,可执行命令
   #mongo 192.168.0.10      #进入数据库,IP为虚拟
十五、以上配置如果执行,有报错信息,请自己百度。本人已成功配置。





页: [1]
查看完整版本: mongodb副本集