天天看點

單機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

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)

> 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)環境中的啟動和關閉

   這個具體的參照分片的配置,啟動的順序是副本集->config server->mongos

   因為mongos是分片架構最前端的入口,是以關閉順序:mongos->config server->副本集

繼續閱讀