MongoDB安裝及多實(shí)例啟動(dòng)

MongoDB安裝及多實(shí)例啟動(dòng)

MongoDB簡介

MongoDB是一款跨平臺、面向文檔的數(shù)據(jù)庫。可以實(shí)現(xiàn)高性能、高可用性,并且能夠輕松擴(kuò)展,是一個(gè)基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng),在高負(fù)載的情況下,添加更多的節(jié)點(diǎn)可以保證服務(wù)器的性能。

創(chuàng)新互聯(lián)公司是一家成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),提供網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,建網(wǎng)站,定制制作,網(wǎng)站開發(fā)公司,于2013年成立是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價(jià)值為核心業(yè)務(wù),全程參與項(xiàng)目的網(wǎng)站策劃設(shè)計(jì)制作,前端開發(fā),后臺程序制作以及后期項(xiàng)目運(yùn)營并提出專業(yè)建議和思路。

在大數(shù)據(jù)時(shí)代中,大數(shù)據(jù)量的處理已經(jīng)成了考量一個(gè)數(shù)據(jù)庫最重要的原因之一。MongoDB的一個(gè)主要目標(biāo)就是盡可能的讓數(shù)據(jù)庫保持卓越的性能,這很大程度地決定了MongoDB的設(shè)計(jì)。MongoDB選擇了最大程度而利用內(nèi)存資源用作緩存來換取卓越的性能,并且會自動(dòng)選擇速度最快的索引來進(jìn)行查詢。MongoDB盡可能精簡數(shù)據(jù)庫,將盡可能多的操作交給客戶端,這種方式也是MongoDB能夠保持卓越性能的原因之一。

MongoDB是非關(guān)系性數(shù)據(jù)庫(NOSQL)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。不采用關(guān)系模型是為了獲取更好的擴(kuò)展性,MongoDB不在有“行”的概念,其運(yùn)行方式主要基于兩個(gè)概念:集合(collection)和文檔(document)。

MongoDB的特點(diǎn)

Mongo是一個(gè)高性能,開源,無模式的文檔型數(shù)據(jù)庫,它在許多場景下可用于替代傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或鍵/值存儲方式。

1、面向集合的存儲:適合存儲對象及JSON形式的數(shù)據(jù)。

2、MongoDB安裝簡單,提供了面向文檔的存儲功能,操作起來比較容易。

3、MongoDB提供了復(fù)制,高可用性和自動(dòng)分片功能。如果負(fù)載增加(需要更多的存儲空間和更強(qiáng)的處理能力),它可以分布在計(jì)算機(jī)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)上,這就是所謂的分片。

4、MongoDB支持豐富的查詢表達(dá)式。

5、高效的傳統(tǒng)存儲方式:支持二進(jìn)制數(shù)據(jù)及大型對象(如照片或圖片)。

MongoDB適用領(lǐng)域

1、MongoDB可以為Web應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。MongoDB主要適用領(lǐng)域有網(wǎng)站數(shù)據(jù)、分布式場景、數(shù)據(jù)緩存和JSON文檔格式存儲。適合大數(shù)據(jù)量、高并發(fā)、弱事務(wù)的互聯(lián)網(wǎng)應(yīng)用,其內(nèi)置的水平擴(kuò)展機(jī)制提供了從幾百萬到十億級別的數(shù)據(jù)處理能力,可以很好的滿足Web2.0和移動(dòng)互聯(lián)網(wǎng)應(yīng)用數(shù)據(jù)存儲的要求。

MongoDB安裝

1、下載和安裝MongoDB及支持軟件。

我們這里選擇的是直接下載軟件包,由于我使用的虛擬機(jī)是CentOS7并且是64位版本,所以我們選擇對應(yīng)的RedHat7版本64位。下載完后經(jīng)過配置可以直接使用。由于軟件包已經(jīng)啟用了SSL安全加密,所以需要我們安裝openssl相關(guān)的依賴包。
MongoDB安裝及多實(shí)例啟動(dòng)
MongoDB安裝及多實(shí)例啟動(dòng)

[root@promote ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz  
#可以直接下載
[root@promote ~]# yum install openssl openssl-devel -y  
#安裝相關(guān)依賴包
[root@promote ~]# tar xvfz mongodb-linux-x86_64-rhel70-4.0.0.tgz -C /usr/local/
#將壓縮包解壓到指定的目錄中
[root@promote ~]# mv /usr/local/mongodb-linux-x86_64-rhel70-4.0.0/ /usr/local/mongodb
#重命名軟件包,方便以后使用
2、創(chuàng)建數(shù)據(jù)存儲目錄,日志存儲目錄及日志文件

由于我們下載的是已經(jīng)編譯好的軟件包,所以我們需要自行創(chuàng)建數(shù)據(jù)存儲目錄,日志存儲日志及日志文件。

[root@promote ~]# mkdir -p /data/mongodb1
#創(chuàng)建數(shù)據(jù)存儲目錄
[root@promote ~]# mkdir -p /data/logs/mongodb
#創(chuàng)建日志存儲目錄
[root@promote ~]# touch /data/logs/mongodb/mongodb1.log
#創(chuàng)建日志文件
[root@promote ~]# chmod -R 777 /data/logs/mongodb/mongodb1.log 
#修改日志文件權(quán)限,方便下面操作

當(dāng)MongoDB處于頻繁訪問的狀態(tài),如果shell啟動(dòng)進(jìn)程所占用的資源設(shè)置過低,會產(chǎn)生錯(cuò)誤到時(shí)無法連接MongoDB。

[root@promote ~]# ulimit -n 2500    #修改shell所能啟用的最大進(jìn)程數(shù)
[root@promote ~]# ulimit -u 2500    #修改shell所能打開的最大文件數(shù)
3、創(chuàng)建MongoDB配置文件和配置啟動(dòng)參數(shù)

下載下來的軟件包沒有配置文件,這里需要我們自行創(chuàng)建。

[root@promote ~]# cd /usr/local/mongodb/bin/
[root@promote bin]# vim mongodb1.conf
port=27017                                    #默認(rèn)服務(wù)器端口號
dbpath=/data/mongodb1                         #數(shù)據(jù)存儲目錄,就是我們上一步創(chuàng)建的
logpath=/data/logs/mongodb/mongodb1.log       #日志文件
logappend=true                                #使用追加方式寫日志
fork=true                                     #后臺運(yùn)行
maxConns=5000                                 #最大連接數(shù)
4、啟動(dòng)和停止MongoDB

安裝并且配置好后就可以啟動(dòng)的們的MongoDB服務(wù)了
MongoDB安裝及多實(shí)例啟動(dòng)
MongoDB安裝及多實(shí)例啟動(dòng)

[root@promote bin]# export PATH=$PATH:/usr/local/mongodb/bin/
#可以把MongoDB的路徑加入到環(huán)境變量,這樣可以直接使用MongoDB的相關(guān)命令
[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb1.conf 
#mongod用于啟動(dòng)服務(wù)進(jìn)程,-f后面加上服務(wù)的配置文件路徑
[root@promote bin]# netstat -ntap | grep mongod     #可以查看MongoDB的進(jìn)程啟動(dòng)狀態(tài)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      78984/mongo
[root@promote bin]# mongo   #可以進(jìn)入到數(shù)據(jù)庫中

[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb1.conf --shutdown
#--shutdown表示關(guān)閉MongoDB服務(wù)進(jìn)程
2018-07-16T21:22:05.828+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
killing process with pid: 78984
[root@promote bin]# netstat -ntap | grep mongod  #沒有MongoDB進(jìn)程
啟動(dòng)MongoDB多實(shí)例

在單臺服務(wù)器資源充分的情況下,可以使用多實(shí)例,以便充分使用服務(wù)器資源。步驟和上面相同,再創(chuàng)建一組數(shù)據(jù)存儲目錄、日志文件和配置文件。

[root@promote bin]# mkdir -p /data/mongodb2
#創(chuàng)建新的數(shù)據(jù)存儲目錄
[root@promote bin]# touch /data/logs/mongodb/mongodb2.log 
#創(chuàng)建新的日志文件
[root@promote bin]# chmod -R 777 /data/logs/mongodb/mongodb2.log 
#賦予日志文件對應(yīng)權(quán)限
[root@promote bin]# chmod -R 777 /data/logs/mongodb/mongodb2.log 
[root@promote bin]# cp /usr/local/mongodb/bin/mongodb1.conf /usr/local/mongodb/bin/mongodb2.conf 
#復(fù)制一份新的配置文件,再修改相應(yīng)的參數(shù)
port=27018                                #設(shè)置一個(gè)新的端口號
dbpath=/data/mongodb2                     #設(shè)置新的數(shù)據(jù)存儲目錄    
logpath=/data/logs/mongodb/mongodb2.log   #設(shè)置新的日志文件
logappend=true
fork=true
maxConns=5000

[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb2.conf #開啟新實(shí)例的進(jìn)程
[root@promote bin]# mongod -f /usr/local/mongodb/bin/mongodb1.conf 
2018-07-16T21:31:16.103+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
about to fork child process, waiting until server is ready for connections.
forked process: 79334
child process started successfully, parent exiting
[root@promote bin]# netstat -ntap | grep mongo
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      79334/mongod        
tcp        0      0 127.0.0.1:27018         0.0.0.0:*               LISTEN      79304/mongod 
#可以看到開啟了兩個(gè)實(shí)例

網(wǎng)站欄目:MongoDB安裝及多實(shí)例啟動(dòng)
當(dāng)前地址:http://www.muchs.cn/article18/ghjhdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、商城網(wǎng)站、Google、網(wǎng)站營銷電子商務(wù)、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(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ā)公司