您好,登錄后才能下訂單哦!
MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。
在高負載的情況下,添加更多的節點,可以保證服務器性能。
MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
1、安裝相關軟件包
[root@centos-01 ~]# wget -b http://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.6.14.tgz
[root@centos-01 ~]# tar zxvf mongodb-linux-x86_64-3.6.14.tgz
[root@centos-01 ~]# mv mongodb-linux-x86_64-3.6.14 /ust/local/mongodb
2、創建MongoDB的數據存儲目錄,日志存儲目錄
[root@centos-01 ~]# mkdir -p /data/mongodb/data
[root@centos-01 ~]# mkdir -p /data/logs/mongodb
[root@centos-01 ~]# ln -s /usr/local/mongodb/bin/* /usr/bin/
3、當MongoDB處于頻繁訪問的狀態時,如果shell啟動進程所占用的資源設置過低的話,將會產生錯誤導致無法連接到MongoDB實例。需設置ulimit -n和ulimit -u的值大于20000。
[root@centos-01 ~]# ulimit -n 25000
[root@centos-01 ~]# ulimit -u 25000
4、創建MongoDB配置文件,定義啟動所需相關參數
[root@centos-01 ~]# vim /etc/mongodb.cnf
#系統日志
systemLog:
#日志輸出目的地,可以指定為 “file” 或者“syslog”
destination: file
#使用追加的方式寫日志
logAppend: true
#日志存儲目錄
path: /data/logs/mongodb/mongo.log
storage:
#數據存儲目錄
dbPath: /data/mongodb/data
#是否開啟 journal 日志持久存儲,journal 日志用來數據恢復,是 mongod 最基礎的特性,通常用于故障恢復
journal:
enabled: true
# engine: wiredTiger
# mmapv1:
#如下配置僅對 wiredTiger 引擎生效(3.0 以上版本)
wiredTiger:
engineConfig:
#wiredTiger 緩存工作集(working set)數據的內存大小
cacheSizeGB: 4
#是否將索引和 collections 數據分別存儲在 dbPath 單獨的目錄中
directoryForIndexes: false
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: false
# how the process runs
processManagement:
#以后臺方式運行進程
fork: true
#PID File 的完整路徑,如果沒有設置,則沒有PID文件
pidFilePath: /data/mongodb/mongod.pid
# network interfaces
net:
#默認服務器端口號
port: 27017
#mongodb所綁定的ip地址
bindIp: 127.0.0.1
security:
#表示是否開啟用戶訪問控制
authorization: enabled
#性能分析器
operationProfiling:
#開啟慢日志
slowOpThresholdMs: 100
mode: slowOp
#如果架構模式為 replication Set,那么還需要在所有的 “復制集”members 上增加如下配置:
#replication:
# oplogSizeMB: 2048
# replSetName: mongodb
#sharding:
## Enterprise-Only Options
#auditLog:
5、設置內核參數,關閉NUMA
[root@centos-01 ~]# echo 0 >/proc/sys/vm/zone_reclaim_mode //當某個節點可用內存不足時系統會從其他節點分配內存
[root@centos-01 ~]# sysctl -w vm.zone_reclaim_mode=0 //永久設置
6、mongodb啟停
[root@centos-01 ~]# mongod -f /etc/mongodb.cnf //啟動
[root@centos-01 ~]# mongod -f /etc/mongodb.cnf --shutdown //停止
[root@centos-01 ~]# netstat -anpt | grep mongod
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 33475/mongod
7、設置為開機自動啟動
[root@centos-01 ~]# echo "mongod -f /etc/mongodb.cnf" >> /etc/rc.local
8、進入MongoDB之后也可以這樣關閉mongoDBuse admin; db.shutdownServer();
9、為了便于運維人員管理,編寫一個MongoDB數據庫的控制腳本
[root@centos-01 ~]# vim /etc/init.d/mongod
#!/bin/bash
PROG="/usr/local/mongodb/bin/mongod"
CONFIG=$1
CONF="/etc/$CONFIG.cnf"
case "$2" in
start)
? $PROG -f $CONF
? ;;
stop)
? $PROG -f $CONF --shutdown
? ;;
restart)
$0 stop
sleep 1
$0 start
sleep 1
echo "mongod has been restarted successfully"
;;
*)
?? echo "Usage: $0 {start|stop|restart}"
?? exit 2
esac
exit 0
[root@centos-01 ~]# chmod +x /etc/init.d/mongod
[root@centos-01 ~]# chkconfig --add mongod
[root@centos-01 ~]# /etc/init.d/mongod start
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。