MongoDB是一個開源的non-SQL數(shù)據(jù)庫引擎。 MongoDB是可擴(kuò)展的,是標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的替代品。 副本集可以使在節(jié)點(diǎn)發(fā)生故障時還能提供對您的數(shù)據(jù)的訪問。
安裝MongoDB
1.確保在副本集的每個成員設(shè)置好hostname
nano /etc/hostname
/etc/hostname:
europa
2.創(chuàng)建一個文件以保存MongoDB存儲庫的配置信息:
sudo touch /etc/yum.repos.d/mongodb.repo
3.如果運(yùn)行的是64位系統(tǒng),請使用以下配置:
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
對于32位系統(tǒng),請使用以下配置:
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/ gpgcheck=0 enabled=1
4.使用如下命令安裝MongoDB:
sudo yum install mongo-10gen-server
配置網(wǎng)絡(luò)
請正確配置網(wǎng)絡(luò),否則將無法向副本集添加成員。 本節(jié)將詳細(xì)介紹如何將三(3)個服務(wù)器配置為MongoDB副本集。
設(shè)置hosts文件
/etc/hosts
192.168.160.1 mongo1
192.168.170.1 mongo2
192.168.180.1 mongo3
使用您自己的IP地址代替上述示例中的地址。 副本集中的成員名稱也可以根據(jù)你的需要設(shè)置名稱。
編輯Mongo Conf文件
1.編輯mongod.conf文件以添加IP地址和端口號。
/etc/mongod.conf:
# fork and run in background fork = true bind_ip = 192.168.135.24 port = 27017
輸入您在bind ip中服務(wù)器的私有IP地址。 如果bind_ip不存在,則需要添加它。 保留默認(rèn)端口號27017,并取消注釋行fork = true。
2.仍然在mongodb.conf文件中滾動到底部并添加副本集信息:
/etc/mongod.conf:
replSet = rs1
在此示例中,副本集為rs1,但是,您可以根據(jù)選擇更改名稱。
副本集
副本集將允許您的數(shù)據(jù)“復(fù)制”或傳播到集合中的所有其他節(jié)點(diǎn)。 它在系統(tǒng)故障的情況下提供冗余。 建議副本集節(jié)點(diǎn)個數(shù)為奇數(shù),因?yàn)檫@會使選舉更容易。
選舉是選擇哪個節(jié)點(diǎn)成為主節(jié)點(diǎn)。 選舉在副本集初始化之后和主節(jié)點(diǎn)不可用時發(fā)生。 主節(jié)點(diǎn)是唯一可以接受寫操作的節(jié)點(diǎn)。 如果主節(jié)點(diǎn)不可用,則進(jìn)行選舉選出新的主節(jié)點(diǎn)。 選舉操作自動進(jìn)行,無需人工干預(yù)。
創(chuàng)建副本集
mongod.conf文件在安裝過程中就創(chuàng)建好了。 需要用這個配置文件在副本集的每個節(jié)點(diǎn)上啟動守護(hù)程序。
1.命令如下:
mongod --config /etc/mongod.conf
守護(hù)程序啟動后,輸出如下。
[user@europa mongo]# mongod –config /etc/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 20955
all output going to: /var/log/mongo/mongod.log
child process started successfully, parent exiting
2.僅在副本集的一個節(jié)點(diǎn)上啟動MongoDB客戶端:
mongo --host mongo0>
3.在MongoDB提示符下,使用命令切換到admin:
use admin
您應(yīng)該看到消息switched to db admin.
4.運(yùn)行rs.initiate()命令,該命令將在當(dāng)前節(jié)點(diǎn)中創(chuàng)建副本集。 輸出應(yīng)類似于以下內(nèi)容:
> rs.initiate() { “info2” : “no configuration explicitly specified — making one”, “me” : “192.168.160.1:27017”, “info” : “Config now saved locally. Should come online in about a minute.”, “ok” : 1
5.要查看當(dāng)前配置,運(yùn)行命令:
rs.conf()
輸出應(yīng)類似于以下內(nèi)容:
rs.conf() { "_id" : "rs1", "version" : 8, "members" : [ { "_id" : 0, "host" : "192.168.160.1:27017" } ] }
6.要將成員添加到副本集,請使用命令:
rs.add("mongo1:27017")
輸出:
rs1:PRIMARY> rs.add(“mongo2:27017”)
{ “ok” : 1 }
7.要驗(yàn)證節(jié)點(diǎn)是否已正確添加,請?jiān)俅芜\(yùn)行rs.conf()命令。 輸出應(yīng)類似于以下內(nèi)容:
rs1:PRIMARY> rs.conf() { “_id” : “rs0”, “version” : 8, “members” : [ { “_id” : 0, “host” : “192.168.160.1:27017” }, { “_id” : 1, “host” : “mongo1:27017” }, { “_id” : 2, “host” : “mongo2:27017” } ] }
驗(yàn)證副本集
驗(yàn)證副本集是否正常并且節(jié)點(diǎn)都進(jìn)行正常通信的最佳方法是創(chuàng)建新的測試數(shù)據(jù)庫。 默認(rèn)情況下,當(dāng)您連接到MongoDB時,將使用現(xiàn)有的測試數(shù)據(jù)庫。 為了保存新數(shù)據(jù)庫,需要添加數(shù)據(jù)。 創(chuàng)建和插入數(shù)據(jù)的過程如下:
1.創(chuàng)建數(shù)據(jù)庫
use products>
用您喜歡的任何名稱替換變量products。
2.添加數(shù)據(jù)
db.products.insert( {item: "paint", qty: 10 } )
如果您不在副本集的主節(jié)點(diǎn)上,您將收到消息not master。 切換到主節(jié)點(diǎn)并再次運(yùn)行命令。 現(xiàn)在使用命令:
show dbs
顯示數(shù)據(jù)庫列表。 您的新應(yīng)該出現(xiàn)在列表中。 連接到副本集的其他節(jié)點(diǎn),查看新創(chuàng)建的數(shù)據(jù)庫是否已復(fù)制過去。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
標(biāo)簽:遼陽 興安盟 泰安 無錫 雞西 廈門 自貢 玉林
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《CentOS 6.4創(chuàng)建Mongodb副本集》,本文關(guān)鍵詞 CentOS,6.4,創(chuàng)建,Mongodb,副本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。