mongod副本集

0. mongod的安装

不说了,基本上是yum安装
贴一个3.0的repo

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

1. 配置replSet名字

也是so easy
vim /etc/mongod.conf

replication:
  replSetName: myreplset

2. 设置replica set信息

mongo
rs.initiate()
rs.conf()
rs.add("mongodb1.example.net")
rs.add("mongodb2.example.net")

设置完了以后会自动在从上生效。

3. 查看状态

rs.status()

4 .mongo副本集备份.

挂了不要紧,但是没备份就蛋疼了.
做起来其实就是在primary上面做备份. 但是主备会切换,所以我用python判断了一下.

from pymongo import MongoClient
import subprocess
import os
import datetime
import sys
def get_primary(hosts):
    for h in hosts:
        c = MongoClient(h)
        if c.is_primary:
            return h
    sys.exit(-1)


def do_backup(host):
    os.chdir('/data/mongo_backup/')
    today = datetime.datetime.today().strftime('%d-%m-%y')
    cmd1 = 'mongodump -h %s' % host
    cmd2 = 'tar czf mongod-%s.tar.gz dump' % today
    subprocess.call(cmd1.split())
    subprocess.call(cmd2.split())
    print 'backup is ok'


def main():
    hosts = ['10.117.xx.xx', '10.117.xx.xx', '10.117.xx.xx']
    master = get_primary(hosts)
    do_backup(master)

if __name__ == '__main__':
    main()

5.mongod特性

存的是文档型的数据,类似json. 我认为最方便的特性是天生自带HA,一台挂了没事. 还是一个是sharding,分片,水平扩展很方便.。我们数据量不是很大,二进制文件的量在70G 左右,所以只做了副本集,相信这也是绝大多数中小公司遇到的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值