下载地址
https://www.mongodb.com/download-center/community
安装
1.解压tar -zxvf mongodb-linux-x86_64-3.4.24.tgz2.创建2个文件夹,存放数据库和日志cd mongodb-linux-x86_64-3.4.24mkdir logsmkdir datas3.开放权限chmod 777 logschmod 777 datas4.创建配置文件cd bin/vi mongodb.conf5.添加配置port=11111 - //默认服务器端口号fork=true - //后台运行dbpath=/application/mongodb-11111/datas - //数据存储目录logpath=/application/mongodb-11111/logs//mongodb.log - //日志文件 - 提前创建好logappend=false - //使用追加的方式写日志maxConns=5000 - //最大同时连接数,默认2000directoryperdb=truewiredTigerCacheSizeGB=30oplogSize=30bind_ip=0.0.0.0auth=true6.启动mongodb./mongod --config mongodb.conf7.检查是否启动成功netstat -anpt | grep mongod8.kill方式关闭mongodb先获取到pid,能看到2个进程,一个是命令的进程(不用管),另一个是需要结束的进程(带配置文件刚才启动的进程)ps aux | grep mongod然后kill掉进程kill -2 pid9.连接mongodb后,关闭mongodbuse admin;db.shutdownServer(); 或者 db.runCommand("shutdown");
启动多实例
多台服务器直接按照上面流程安装。在单台服务器资源充分的情况下,可以使用多实例,以便充分使用服务器资源。1.拷贝mongodb.conf文件cp mongodb.conf mongodb2.conf2.新建文件夹mkdir logs2mkdir datas23.修改端口号以及日志和数据库路径等内容vi mongodb2.conf4.启动多实例./mongod --config mongodb.conf./mongod --config mongodb2.conf5.检查启动是否成功netstat -anpt | grep mongod
Mongodb日志文件过大问题解决
第一种方式进入到mongo的命令行交互程序,输入:use admindb.runCommand({logRotate: 1})此种方式只能让主mongo的日志滚动。如果是集群部署的话,其他机上的mongo日志并不会滚动。 这样会使mongo关闭当前日志文件,重启一个新的日志文件,不需要停止mongodb服务。第二种方式在Linux的命令上输入如下命令:ps aux | grep mongo找到mongodb的进程ID,记下来。在输入命令:kill -SIGUSR1 <pid>此种方式只能修改当前机器上的mongo日志滚动。如果是集群部署,需要在所有运行mongodb的机上执行此命令。第三种方式日志分割mongo默认是没有进行日志分割的,所有的日志持续写到一个文件中。缺点是很明显的,日志文件会越来越大在第二种方式的基础上,写一个shell脚本,来分割日志。新建脚本mongodb_log_rotate.sh#!/bin/shdatafile=/var/run/mongodblogfile=/var/log/mongodbdays=15/bin/kill -SIGUSR1 `cat $datafile/mongod.pid`find $logfile/ -mtime +$days -delete然后将脚本加入到定时任务,crontab配置每晚凌晨0点执行0 0 * * * /opt/shell/mongodb_log_rotate.sh > /dev/null 2>&1 &