美文网首页Hadoop
Mongodb数据库部署与索引维护

Mongodb数据库部署与索引维护

作者: AdilLau | 来源:发表于2019-05-18 11:03 被阅读43次

    由于工作需要,近期用到mongodb数据库,于是重新翻阅了下之前的记录,现对mongodb一些基本的操作做下分享,供各位参阅。

    1、制作源并安装mongodb数据库

    cat <<EOF > /etc/yum.repos.d/mongodb-org.repo
    [mongodb-org]
    name=MongoDB Repository
    baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.6/x86_64/
    gpgcheck=0
    enabled=1
    EOF
    

    开始安装:

    yum -y makecache fast
    yum install -y mongodb-org
    systemctl enable mongod #开机自启
    

    2、修改配置文件

    sed -i "s/bindIp: 127.0.0.1/bindIp: 0.0.0.0/g" /etc/mongod.conf
    systemctl restart mongod
    

    3、新建索引并创建自动删除10天以前数据的计划

    1.rawData collections 创建过程
    show dbs
    use datacollect
    show collections
    db.rawData.findOne()
    db.rawData.createIndex({"source": 1,"time": -1},{name:"rawData_created_timescidx"},{expireAfterSeconds: 3600*10 },{background:true})
    db.rawData.getIndexes()
    
    2.exceptionData collections 创建过程
    show dbs
    use datacollect
    show collections
    db.exceptionData.findOne()
    db.exceptionData.createIndex({"source": 1,"time": -1},{name:"excdt_created_timescidx"},{expireAfterSeconds: 3600*10 },{background:true})
    db.exceptionData.getIndexes()
    

    注意:以上方法虽然为后台运行,但尽量不要在数据量比较大的mongodb数据库中执行。

    3.查看执行计划的执行过程
    db.rawData.find({source:'ht-84'}).explain('executionStats')
    

    4、mongodb守护进程脚本

    cat <<EOF > /usr/bin/shouhu.sh
    #!/bin/sh
    #添加本地路径如果有
    while true; do
            #启动一个循环,定时检查进程是否存在
            server=`ps aux | grep mongod | grep -v grep`
            if [ ! "$server" ]; then
                #如果不存在就重新启动
                systemctl restart mongod &
                #启动后沉睡5s
                sleep 5
            fi
                #每次循环沉睡5s
                sleep 5
    done
    EOF
    
    chmod a+x /usr/bin/shouhu.sh
    sh /usr/bin/shouhu.sh 2>&1 &
    

    相关文章

      网友评论

        本文标题:Mongodb数据库部署与索引维护

        本文链接:https://www.haomeiwen.com/subject/fygzaqtx.html