溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一、MongoDB的安裝及相關配置

發(fā)布時間:2020-09-23 08:52:57 來源:網絡 閱讀:117 作者:wx5acc326ba509b 欄目:系統(tǒng)運維

MongoDB簡介

MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數據庫系統(tǒng)。
在高負載的情況下,添加更多的節(jié)點,可以保證服務器性能。
MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

安裝MongoDB及配置

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、創(chuàng)建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處于頻繁訪問的狀態(tài)時,如果shell啟動進程所占用的資源設置過低的話,將會產生錯誤導致無法連接到MongoDB實例。需設置ulimit -n和ulimit -u的值大于20000。
[root@centos-01 ~]# ulimit -n 25000
[root@centos-01 ~]# ulimit -u 25000
4、創(chuàng)建MongoDB配置文件,定義啟動所需相關參數

[root@centos-01 ~]# vim /etc/mongodb.cnf
#系統(tǒng)日志
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 //當某個節(jié)點可用內存不足時系統(tǒng)會從其他節(jié)點分配內存
[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之后也可以這樣關閉mongoDB

use 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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI