A. mongodb 副本集 仲裁節點相關必要嗎
在replica set的情況下,一般的驅動都有連接replica set的專門的方式,和連接一個伺服器不一樣的。這樣驅動會知道新選舉出的master。 比如用node.js,連接replica set是: MongoClient.connect("mongodb://host1:port1,host2:port2,host3:port3/
B. 如何修改mongodb集群的節點
在MongoDB中,文檔是對數據的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各種語言的Driver)都會使用這種抽象,它的表現形式就是我們常說的BSON(BinaryJSON)。BSON是一個輕量級的二進制數據格式。MongoDB能夠使用BSON,並將BSON作為數據的存儲存放在磁碟中。當Client端要將寫入文檔,使用查詢等等操作時,需要將文檔編碼為BSON格式,然後再發送給Server端。同樣,Server端的返回結果也是編碼為BSON格式再放回給Client端的。
C. mongodb集群怎麼測試仲裁節點
在進行副本集部署時我們會添加一個或多個仲裁節點,仲裁節點不用於備份數據,由於它職責的職責是負責選舉主節點,所以對硬體沒有太高要求,可以將它部署在單獨的伺服器上,這個伺服器可以是監聽伺服器,也可以部署在虛擬機上,但是有一點仲裁節點一定不能備份數據.仲裁節點和註解點都可以參與選舉,而選舉對象是各個非投票成員,也就是需要備份數據的從節點.
D. mongodb 的主節點是哪個
安裝步驟 創建並啟動主節點、次節點和仲裁節點的EC2實例,主節點、次節點和仲裁節點所需要的配置如上所述。 為主次兩節點創建EBS卷,EBS卷的大小足以滿足MongoDB存儲數據 通過SSH連接主次兩節點上的EC2實例 通過sudo mkfs -t ext4 /dev/<已創建的EBS卷> 在主次兩個節點上創建Ext4文件系統 創建目錄/data/db或者其他你選擇的目錄名,然後使用sudo mount -a /dev/<已創建的EBS卷> /data/db掛載到已連接的卷上 使用sudo echo '/dev/sdf /data/db auto noatime,noexec,nodiratime 0 0' >>/etc/fstab 編輯/etc/fstab,使得實例啟動的時候能顯示這個目錄 在所有實例上下載並安裝MongoDB 在MongoDB目錄下使用mongod --rest -repset myHASet命令啟動主節點(這兒myHASet是復制集的名字,你可以選擇你喜歡的任何名字) 在MongoDB目錄下進入MongoDB終端 在mongo終端上使用命令rs.initiate()初始化復制集 初始化完成後使用命令rs.status() 檢查復制集的狀態 如果初始化成功,你可以在輸出里看到OK,類似下面 { "set" : "sample", "myState" : 1, "members" : [ { "name" : "<PRIMARY_HOSTNAME>:27017", "self" : true } ], "ok" : 1 } 你也可以通過<主節點>:27017/_repset檢查復制集狀態 現在你的主節點可以使用了,你可以在這個節點上插入或者更新文檔。 現在用主節點上的mongod --rest --repset myHASet相同的命令啟動次節點 現在告知主節點在復制集中增加了次節點。進入主節點上的mongo控制台,使用rs.add("<次節點主機名>")增加次節點到復制集 如果增加成功的話,你將看到這樣的響應{ "ok" : 1 } 一旦你的次節點與復制集連接成功,你可以通過<主節點>:27017/_repSet檢查復制集狀態 現在使用mongod --rest --repSet myset --oplogSize 8命令啟動仲裁節點 使用命令rs.add({_id:2,host:"<仲裁節點主機名>",arbiterOnly:true})把仲裁節點增加到復制集 一旦仲裁節點增加成功的話,你就已經完成的整個配置,你的復制集可以使用了 進入<主節點>:27017/_repSet,你應當能夠看到如下屏幕截圖所示的每個節點的狀態 要測試復制集,關閉主節點,看看次節點是否能夠接管,然後變成主節點 你可以使用命令db.isMaster()檢查狀態,看看是否次節點已經成為主節點。 另外你可以用分片群集的水平分片來擴大應用的數據量。配置分片群集不在這篇文檔的范圍之內。
E. Mongodb 仲裁節點相關必要嗎
仲裁節點是必須的,而且還不能掛掉,一旦掛掉就不能工作了,因為一旦出現主節點掛掉就無法仲裁處新的主節點了。
F. 如何安裝,配置MongoDB
1
下載mongodb的windows版本,有32位和64位版本,根據系統情況下載
2
創建資料庫文件的存放位置,比如D:/mongodb/data/db。啟動mongodb服務之前需要必須創建資料庫文件的存放文件夾,否則命令不會自動創建,而且不能啟動成功。默認文件夾路徑為c:/data/db.使用系統默認文件夾路徑時,啟動服務無需加--dbpath 參數說明,但文件夾還要手工創建
3
打開cmd命令行,進入D:/mongodb/bin目錄,輸入如下的命令啟動mongodb服務:
D:/mongodb/bin>mongod.exe --dbpath D:/mongodb/data/db
4
再打開一個cmd輸入:D:/mongodb/bin>mongo 127.0.0.1/admin,或者雙擊mongo.exe,即可進行mongodb的客戶端命令操作了:
G. linux虛擬機上安裝mongodb配置環境變數怎麼配
如果是普通用戶,在用戶根目錄下 /home/XXX/.bashrc裡面配置PATH 然後 source /home/XXX/.bashrc 就可以 如果是root 直接在/root/.bashrc和/etc/profile裡面配置PATH就ok
H. 如何配置mongodb中的主從同步
首先要准備至少兩台伺服器,我這里准備的兩台是192.168.1.1,192.168.1.2,並且這兩台伺服器都要裝好了mongodb,怎麼安裝這里就不說明了.通信介面是27017,接下來我們就來開始動手吧
1.配置主節點
創建數據的存放目錄與日誌的存放目錄:
mkdir /mongodb/master
mkdir /mongodb/log
接著把主節點的配置寫在一個配置文件中,從而來啟動的時候能用--config這個參數來指定配置,配置文件內容如下.
dbpath=/mongodb/master
logpath=/mongodb/log/master.log
master=true
fork=true
port=27017
oplogSize=2048
寫好配置文件後,我們就可以啟動一個主節點了:
/mongodb/bin/mongod --config /mongodb/bin/mongodb.conf
2.配置從節點
創建數據的存放目錄與日誌的存放目錄:
mkdir /mongodb/slave
mkdir /mongodb/log
接著寫從節點的配置文件.
dbpath=/mongodb/slave
logpath=/mongodb/log/slave.log
slave=true
source=192.168.1.2:27017
fork=true
port=27017
autoresync=true
寫好配置文件後,我們就可以啟動一個主節點了:
/mongodb/bin/mongod --config /mongodb/bin/mongodb.conf
到這里基本主從就配置完了,你可以查看主節點的local資料庫里有沒有slave,oplog.$admin,從節點中有沒有source,me這幾個集合
接下來你可以主節點創建資料庫插入數據看看從節點是否同步過去了.這些都可以通過查看日誌來查看的
I. mongodb仲裁節點掛掉怎麼辦
要盡量使用奇數個節點而不要使用仲裁節點
當仲裁節點掛掉後,若Primary節點正常,則不影響正常使用,將仲裁節點恢復即可;若在仲裁節點恢復之前,Primary節點就掛了,這時候因無法進行選擇投票,所以只有secondary節點而沒有Primary節點,因此只能進行檢索操作無法進行更新操作,此時若將仲裁節點恢復,將會重新選舉出Primary節點,集群重新恢復正常功能。
J. 在Linux系統上裝有一個MongoDB資料庫,如何配置成Linux系統上的為主,Windows系統上的MongoDB為從資料庫
在啟動Linux上的mongodb時使用master參數,在windows上啟動時使用slave參數試試。
不過官方文檔推薦2.4以後都使用replica set,不要再使用主從復制了。
使用replica set需要3個以上的節點,可以設置兩個或以上的數據節點,多個選舉節點,節點數要是基數個,哪個節點時primary由系統自己決定就好。
沒有試過在Linux和windows上同時打開mongodb。
開啟mongodb的參數可以參考這里:
http://docs.mongodb.org/manual/reference/configuration-options/
主從復制信息參考這里:
http://docs.mongodb.org/manual/core/master-slave/