单机mongodb安装、mongodb启动和关闭

单机mongodb安装

groupadd mongodb
useradd -g mongodb mongodb
tar zxvf mongodb-linux-x86_64-rhel70-3.6.11.tgz 
ln -s /opt/mongodb-linux-x86_64-rhel70-3.6.11  /usr/local/mongodb
chown -R mongodb:mongodb /usr/local/mongodb
mkdir -p /data/mongodb/db
mkdir -p /data/mongodb/logs
chown -R mongodb:mongodb /data/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

 
vi /etc/mongodb.conf
 
dbpath = /data/mongodb/db                                        
logpath = /data/mongodb/logs/mongodb.log        
port = 27017                                   
fork = true                                     
 
启动mongo程序
# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf 
 
 
测试mongo是否安装成功
# /usr/local/mongodb/bin/mongo
 
 
添加mongodb命令到环境变量
echo "export PATH=$PATH:/usr/local/mongodb/bin">>/etc/profile 
source /etc/profile
 
设置mongodb开机启动
# echo "/usr/local/mongodb/bin/mongod -f /etc/mongodb.conf" >>/etc/rc.d/rc.local 
 
 
 
 

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->副本集

原文地址:https://www.cnblogs.com/l10n/p/7059672.html