侧边栏壁纸
博主头像
SRE实战博主等级

助力中小微企业运筹帷幄。

  • 累计撰写 21 篇文章
  • 累计创建 11 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

mongodb安装步骤和索引创建方法

SRE实战
2022-07-07 / 0 评论 / 0 点赞 / 47 阅读 / 377 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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

cat <<EOF > /etc/yum.repos.d/mongodb-org.repo
[mongodb-org]
[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、新建索引并创建自动删除7天以前数据的计划

1.rawData collections 创建过程

show dbs
use datacollect
show collections
db.rawData.findOne()
db.rawData.createIndex({"source": 1,"time": -1},{name:"rawData_created_timescidx"},{expireAfterSeconds: 7*24*3600 },{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: 7*24*3600 },{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 &
0

评论区