MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。
站在用戶的角度思考問題,與客戶深入溝通,找到萍鄉(xiāng)網(wǎng)站設(shè)計與萍鄉(xiāng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋萍鄉(xiāng)地區(qū)。
在高負載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。
MongoDB 旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
1、安裝相關(guān)軟件包
[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、創(chuàng)建MongoDB的數(shù)據(jù)存儲目錄,日志存儲目錄
[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、當(dāng)MongoDB處于頻繁訪問的狀態(tài)時,如果shell啟動進程所占用的資源設(shè)置過低的話,將會產(chǎn)生錯誤導(dǎo)致無法連接到MongoDB實例。需設(shè)置ulimit -n和ulimit -u的值大于20000。
[root@centos-01 ~]# ulimit -n 25000
[root@centos-01 ~]# ulimit -u 25000
4、創(chuàng)建MongoDB配置文件,定義啟動所需相關(guān)參數(shù)
[root@centos-01 ~]# vim /etc/mongodb.cnf
#系統(tǒng)日志
systemLog:
#日志輸出目的地,可以指定為 “file” 或者“syslog”
destination: file
#使用追加的方式寫日志
logAppend: true
#日志存儲目錄
path: /data/logs/mongodb/mongo.log
storage:
#數(shù)據(jù)存儲目錄
dbPath: /data/mongodb/data
#是否開啟 journal 日志持久存儲,journal 日志用來數(shù)據(jù)恢復(fù),是 mongod 最基礎(chǔ)的特性,通常用于故障恢復(fù)
journal:
enabled: true
# engine: wiredTiger
# mmapv1:
#如下配置僅對 wiredTiger 引擎生效(3.0 以上版本)
wiredTiger:
engineConfig:
#wiredTiger 緩存工作集(working set)數(shù)據(jù)的內(nèi)存大小
cacheSizeGB: 4
#是否將索引和 collections 數(shù)據(jù)分別存儲在 dbPath 單獨的目錄中
directoryForIndexes: false
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: false
# how the process runs
processManagement:
#以后臺方式運行進程
fork: true
#PID File 的完整路徑,如果沒有設(shè)置,則沒有PID文件
pidFilePath: /data/mongodb/mongod.pid
# network interfaces
net:
#默認服務(wù)器端口號
port: 27017
#mongodb所綁定的ip地址
bindIp: 127.0.0.1
security:
#表示是否開啟用戶訪問控制
authorization: enabled
#性能分析器
operationProfiling:
#開啟慢日志
slowOpThresholdMs: 100
mode: slowOp
#如果架構(gòu)模式為 replication Set,那么還需要在所有的 “復(fù)制集”members 上增加如下配置:
#replication:
# oplogSizeMB: 2048
# replSetName: mongodb
#sharding:
## Enterprise-Only Options
#auditLog:
5、設(shè)置內(nèi)核參數(shù),關(guān)閉NUMA
[root@centos-01 ~]# echo 0 >/proc/sys/vm/zone_reclaim_mode //當(dāng)某個節(jié)點可用內(nèi)存不足時系統(tǒng)會從其他節(jié)點分配內(nèi)存
[root@centos-01 ~]# sysctl -w vm.zone_reclaim_mode=0 //永久設(shè)置
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、設(shè)置為開機自動啟動
[root@centos-01 ~]# echo "mongod -f /etc/mongodb.cnf" >> /etc/rc.local
8、進入MongoDB之后也可以這樣關(guān)閉mongoDBuse admin; db.shutdownServer();
9、為了便于運維人員管理,編寫一個MongoDB數(shù)據(jù)庫的控制腳本
[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
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。