一、系統環境
CentOS 6.8_x64
官方參考文檔https://docs.mongodb.org/manual/reference/glossary/#term-init-script
二、添加官方yum庫
#cd /etc/yum.repo.d/
#vim mongodb.repo
三、安裝配置
1、安裝并創建數據目錄
2、配置mongod.conf
#vim /etc/mongod.conf
啟動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
五、排錯
故障描述 :
service mongod stop 時發現 并沒有 關閉mongod服務 進程依然在
通過排查發現問題出在/etc/mongod.conf中第24行
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
把后面的# location of pidfile 刪除掉 即可,這個是一個小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數據庫
resall 還原所有的數據庫
resone可以指定還原某一個數據庫
七、解決警告提示
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]
由于環境為CentOS6.8 所以解決方法如下,其他平臺及版本請參考官方文檔:https://docs.mongodb.org/manual/tutorial/transparent-huge-pages/
2、解決方法:
添加如下腳本
#vim /etc/init.d/disable-transparent-hugepages
添加到開機自啟服務
#chmod +x /etc/init.d/disable-transparent-hugepages #chkconfig --add disable-transparent-hugepages
3、修改系統參數
reboot 系統
4、驗證:
$mongo --host 10.1.0.7 --port 27017
MongoDB shell version: 3.0.7
connecting to: 10.1.0.7:27017/test
>
5、出現如下錯誤:
** 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安裝完成~如有錯誤之處歡迎指正!
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享題目:CentOS6.8安裝mongodb3.0與備份腳本-創新互聯
網站路徑:http://vcdvsql.cn/article32/giepc.html
成都網站建設公司_創新互聯,為您提供微信小程序、App開發、Google、服務器托管、網站收錄、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯