单机mongodb安装
# 添加文件打开数和mongod用户进程连接数
cat >> /etc/security/limits.conf << EOF
* soft nofile 65536
* hard nofile 65536
mongod soft nproc 32768
mongod hard nproc 32768
EOF
# 禁用Transparent Huge Pages
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
cat >> /etc/rc.local << EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled;then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag;then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
EOF
cat <<EOF > /usr/lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /etc/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
#添加可执行权限:
chmod 755 /usr/lib/systemd/system/mongodb.service
#重载 systemctl units
systemctl daemon-reload
#设置为开机自启动
systemctl enable mongodb.service
mongodb的启动
mongod --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/33988.log --port 33988 --fork
--dbpath 数据文件存放路径,如果没有指定,默认数据目录为:/data/db 。
--logpath 错误日志存放路径。
--port 端口号,默认端口号27017 ;默认 28017(比指定的端口号 多一千) 是HTTP接口。
--fork 以后台deamon方式启动,如果选择此种方法必须加上 --logpath参数,这是强制的
mongod -f /etc/mongo.cnf
#/etc/mongo.cnf 文件内容
port=2800
dbpath=/data/mongodb/data
logpath=/data/mongodb/log/mongodb.log
pidfilepath=/data/mongodb/log/mongos.pid
fork=true
mongod的关闭
方法一:
mongod --config=/etc/mondod.conf --shutdown
方法二:
mongo --port 28000
> use admin
> db.shutdownServer();
如果没有up-to-date 从Mongodb且你想强制关闭服务,可以通过添加force:true;命令如下:
> db.adminCommand({shutdown : 1, force : true})
or
> db.shutdownServer({force : true})
指定特定超时时间的关闭服务器,命令同上,另外加上一个timeoutsec:参数
> db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)
or
> db.shutdownServer({force : true, timeoutsec : 5})
mongos的关闭
因为mongos是无状态的节点,可以直接kill掉Mongos进程。
副本集(Replica Set)环境中的启动和关闭
1.启动
分别启动每个mongod加入到副本集,最后rs.initiate()就可以了
2.关闭
分别关闭每个mongod,关闭primary的时候如果所有secondary和primary的时间差都大于10s,则primary会
拒绝关闭,如果没有密集写操作可以db.shutdownServer({force : true}) 强制关闭。
分片(Shard)环境中的启动和关闭
1.启动
这个具体的参照分片的配置,启动的顺序是副本集->config server->mongos
2.关闭
因为mongos是分片架构最前端的入口,所以关闭顺序:mongos->config server->副本集