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、建立索引并建立自動删除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 &