从本篇开始,主要记录博主在使用mongo遇到的一些生产上的问题;
问题背景:
生产环境有大概7千万的数据要入mongodb库,在入库的过程中发现shard分片集群的日志很大,大概有几个G的大小;这样查看很不方便,显然也不是很合理;
解决办法:
1.编写shell脚本: mongolog.sh
#!/bin/bash
#把PATH添加进来 读者可以使用$PATH 查看自己机器的路径,
#这里也可以不用path,那么启动的时候就要指定mongo的全路径;
export PATH=/opt/mongodb/bin:/usr/sbin:/usr/bin:/root/bin
#启动mongo shard节点 <<EOF 是把启动的日志打印出来
mongo --port 27018 <<EOF
#使用admin库
use admin
#登录
db.auth("root","root")
#此命令是重新生成日志文件 ,保存原来的文件
db.runCommand( { logRotate : 1 } )
#结束
exit;
EOF
2 启动定时任务执行mongolog.sh 博主配置的策略是每天凌晨1点 执行一次
输入
crontab -e
进入定时任务编辑脚本:
编辑脚本执行策略:
0 1 * * * sh /root/mongolog.sh
完成
config集群和路由集群 同理;