CentOS6.8安裝mongodb3.0與備份腳本-創(chuàng)新互聯(lián)

一、系統(tǒng)環(huán)境
CentOS 6.8_x64
官方參考文檔https://docs.mongodb.org/manual/reference/glossary/#term-init-script

創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,綿陽機(jī)房托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺(tái)以及歐美等多個(gè)國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

二、添加官方y(tǒng)um庫
#cd /etc/yum.repo.d/
#vim mongodb.repo

[mongodb-org-3.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1

三、安裝配置
1、安裝并創(chuàng)建數(shù)據(jù)目錄

#yum install -y mongodb-org #mkdir -p /Data/mongodb  #chown   mongod.mongod /Data/mongodb -R


2、配置mongod.conf
#vim /etc/mongod.conf

# mongod.conf # for documentation of all options, see: #   http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data. systemLog:   destination: file   logAppend: true   path: /Data/mongodb/mongod.log    #需要自定義 # Where and how to store data. storage:   dbPath: /Data/mongodb/db           #需要自定義   journal:     enabled: true #  engine: #  mmapv1: #  wiredTiger: # how the process runs processManagement:   fork: true  # fork and run in background   pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile # network interfaces net:   port: 27017   bindIp: 10.1.0.7  # Listen to local interface only, comment to listen on all interfaces.    需要自定義 #security: #operationProfiling: #replication: #sharding: # Enterprise-Only Options #auditLog:

啟動(dòng)mongod
#service mongod start


四、測試
登錄mongodb
#mongo --host 10.1.0.7
> db.version();
3.0.7
> show dbs
com_ylt_plat_passport 0.078GB
local                 0.078GB
chown mongod.mongod  /Data/mongodb -R
service mongod start

五、排錯(cuò)

故障描述 :
service mongod stop 時(shí)發(fā)現(xiàn) 并沒有 關(guān)閉mongod服務(wù) 進(jìn)程依然在

通過排查發(fā)現(xiàn)問題出在/etc/mongod.conf中第24行
 pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
 把后面的# location of pidfile 刪除掉 即可,這個(gè)是一個(gè)小bug

六、mogond備份與還原腳本

#cat mongodb_bak.sh

#!/bin/sh DUMP=/usr/bin/mongodump OUT_DIR=/data1/backup/mongodb/mongod_bak_now BAK_DIR=/data1/backup/mongodb/mongod_bak_list DATE=`date +%F_%H%M%d` #DB_USER=username #DB_PASS= DAYS=7 TAR_BAK="mongodb_bak_$DATE.tar.gz" [ -d $OUT_DIR ] || mkdir -v $OUT_DIR [ -d $BAK_DIR ] || mkdir -v $BAK_DIR BAK_DB(){ cd $OUT_DIR rm -rf $OUT_DIR/* mkdir -p $DATE #$DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE $DUMP -o $OUT_DIR/$DATE tar czvf $BAK_DIR/$TAR_BAK $OUT_DIR/$DATE find $BAK_DIR/ -mtime +$DAYS -delete } RESTORE_ALL(){ cd $OUT_DIR for d in `ls`; do echo $OUT_DIR/$d /usr/bin/mongorestore -d $OUT_DIR/$d done } RESTORE_Choose(){ while true do   echo "when you choose 'quit|exit' exit to restore!"    read -p "What's  your choose?(Enter continue!)" choose   if [[ $choose == 'quit' || $choose == 'exit' ]]   then        echo "You choose exit!" && exit 2   fi   cd $OUT_DIR   d=`ls`   cd $OUT_DIR/$d   ls   read -p "What's db your choose?" whatdb   if [ "$whatdb" != '' ];     then       /usr/bin/mongorestore -d $whatdb   else         echo "choose is empty,exit~" && exit 0   fi done } case $1 in         back)         BAK_DB         ;;         resall)         RESTORE_ALL         ;;         resone)         RESTORE_Choose         ;;         *)         echo "USGE:back|resall|resone"         ;; esac

使用說明:

back  備份全部的mongod數(shù)據(jù)庫

resall 還原所有的數(shù)據(jù)庫

resone可以指定還原某一個(gè)數(shù)據(jù)庫

七、解決警告提示
 1、問題描述
解決登錄mongo --host 10.1.0.7 --port 27017   類似如下提示

 ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.  和 ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
MongoDB shell version: 3.0.7
connecting to: 10.1.0.7:27017/test
Server has startup warnings:
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten]
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] **       We suggest setting it to 'never'
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten]
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] **       We suggest setting it to 'never'
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten]


由于環(huán)境為CentOS6.8 所以解決方法如下,其他平臺(tái)及版本請參考官方文檔:https://docs.mongodb.org/manual/tutorial/transparent-huge-pages/

2、解決方法:
添加如下腳本
#vim /etc/init.d/disable-transparent-hugepages

#!/bin/sh### BEGIN INIT INFO # Provides:          disable-transparent-hugepages # Required-Start:    $local_fs # Required-Stop: # X-Start-Before:    mongod mongodb-mms-automation-agent # Default-Start:     2 3 4 5 # Default-Stop:      0 1 6 # Short-Description: Disable Linux transparent huge pages # Description:       Disable Linux transparent huge pages, to improve #                    database performance. ### END INIT INFO case $1 in   start)         if [ -d /sys/kernel/mm/transparent_hugepage ]; then               thp_path=/sys/kernel/mm/transparent_hugepage         elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then          thp_path=/sys/kernel/mm/redhat_transparent_hugepage        else              return 0          fi              echo 'never' > ${thp_path}/enabled            echo 'never' > ${thp_path}/defrag             unset thp_path     ;;     esac

添加到開機(jī)自啟服務(wù)

#chmod +x /etc/init.d/disable-transparent-hugepages #chkconfig --add disable-transparent-hugepages


3、修改系統(tǒng)參數(shù)

#mkdir -p /etc/tune-profiles/no-thp #cd /etc/tune-profiles/no-thp #echo "set_transparent_hugepages never" > ktune.sh #chmod +x ktune.sh #tuned-adm profile no-thp 如果提示找不到命令請執(zhí)行yum install tuned -y

reboot 系統(tǒng)

4、驗(yàn)證:

$mongo --host 10.1.0.7 --port 27017

MongoDB shell version: 3.0.7

connecting to: 10.1.0.7:27017/test

>

5、出現(xiàn)如下錯(cuò)誤:

** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

#vim /etc/security/limits.conf

添加:

mongod soft nofile 64000

mongod hard nofile 64000

mongod soft nproc 32000

mongod hard nproc 32000

重啟mongod

到此mongod安裝完成~如有錯(cuò)誤之處歡迎指正!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:CentOS6.8安裝mongodb3.0與備份腳本-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://bm7419.com/article32/giepc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序App開發(fā)、Google、服務(wù)器托管、網(wǎng)站收錄自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司