CentOS 6.4創(chuàng)建Mongodb副本集
MongoDB是一個(gè)開(kāi)源的non-SQL數(shù)據(jù)庫(kù)引擎。 MongoDB是可擴(kuò)展的,是標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)的替代品。 副本集可以使在節(jié)點(diǎn)發(fā)生故障時(shí)還能提供對(duì)您的數(shù)據(jù)的訪問(wèn)。
安裝MongoDB
1.確保在副本集的每個(gè)成員設(shè)置好hostname
nano /etc/hostname
/etc/hostname:
europa
2.創(chuàng)建一個(gè)文件以保存MongoDB存儲(chǔ)庫(kù)的配置信息:
sudo touch /etc/yum.repos.d/mongodb.repo
3.如果運(yùn)行的是64位系統(tǒng),請(qǐng)使用以下配置:
[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
對(duì)于32位系統(tǒng),請(qǐ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ò)
請(qǐng)正確配置網(wǎng)絡(luò),否則將無(wú)法向副本集添加成員。 本節(jié)將詳細(xì)介紹如何將三(3)個(gè)服務(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地址和端口號(hào)。
/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)端口號(hào)27017,并取消注釋行fork = true。
2.仍然在mongodb.conf文件中滾動(dòng)到底部并添加副本集信息:
/etc/mongod.conf:
replSet = rs1
在此示例中,副本集為rs1,但是,您可以根據(jù)選擇更改名稱。
副本集
副本集將允許您的數(shù)據(jù)“復(fù)制”或傳播到集合中的所有其他節(jié)點(diǎn)。 它在系統(tǒng)故障的情況下提供冗余。 建議副本集節(jié)點(diǎn)個(gè)數(shù)為奇數(shù),因?yàn)檫@會(huì)使選舉更容易。
選舉是選擇哪個(gè)節(jié)點(diǎn)成為主節(jié)點(diǎn)。 選舉在副本集初始化之后和主節(jié)點(diǎn)不可用時(shí)發(fā)生。 主節(jié)點(diǎn)是唯一可以接受寫操作的節(jié)點(diǎn)。 如果主節(jié)點(diǎn)不可用,則進(jìn)行選舉選出新的主節(jié)點(diǎn)。 選舉操作自動(dòng)進(jìn)行,無(wú)需人工干預(yù)。
創(chuàng)建副本集
mongod.conf文件在安裝過(guò)程中就創(chuàng)建好了。 需要用這個(gè)配置文件在副本集的每個(gè)節(jié)點(diǎn)上啟動(dòng)守護(hù)程序。
1.命令如下:
mongod --config /etc/mongod.conf
守護(hù)程序啟動(dòng)后,輸出如下。
[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.僅在副本集的一個(gè)節(jié)點(diǎn)上啟動(dòng)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.要將成員添加到副本集,請(qǐng)使用命令:
rs.add("mongo1:27017")
輸出:
rs1:PRIMARY> rs.add(“mongo2:27017”)
{ “ok” : 1 }
7.要驗(yàn)證節(jié)點(diǎn)是否已正確添加,請(qǐng)?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)建新的測(cè)試數(shù)據(jù)庫(kù)。 默認(rèn)情況下,當(dāng)您連接到MongoDB時(shí),將使用現(xiàn)有的測(cè)試數(shù)據(jù)庫(kù)。 為了保存新數(shù)據(jù)庫(kù),需要添加數(shù)據(jù)。 創(chuàng)建和插入數(shù)據(jù)的過(guò)程如下:
1.創(chuàng)建數(shù)據(jù)庫(kù)
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ù)庫(kù)列表。 您的新應(yīng)該出現(xiàn)在列表中。 連接到副本集的其他節(jié)點(diǎn),查看新創(chuàng)建的數(shù)據(jù)庫(kù)是否已復(fù)制過(guò)去。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MongoDB 3.4配置文件避免入坑的注意事項(xiàng)
最近在配置mongodb的時(shí)候遇到了一些問(wèn)題,現(xiàn)總結(jié)出來(lái)方便以后需要或同樣遇到該問(wèn)題的朋友們參考,下面這篇文章主要給大家介紹了關(guān)于MongoDB 3.4配置文件時(shí)避免入坑的兩個(gè)注意事項(xiàng),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。2017-09-09
MongoDB查詢與游標(biāo)之分布式文件存儲(chǔ)
這篇文章主要介紹了MongoDB的查詢與游標(biāo),查詢就是返回集合中文檔的一個(gè)子集,子集的范圍從0個(gè)文檔到整個(gè)集合;游標(biāo)的客戶端實(shí)現(xiàn)通常能夠在很大程度上對(duì)查詢的最終輸出進(jìn)行控制;感興趣的同學(xué)可以參考閱讀2023-04-04
MongoDB學(xué)習(xí)筆記之GridFS使用介紹
這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之GridFS使用介紹,本文介紹了GridFS的作用、GridFS的一些使用方法、GridFS實(shí)現(xiàn)原理及注意事項(xiàng)等,需要的朋友可以參考下2015-07-07
詳解Mongodb?多文檔聚合操作處理方法(Map-reduce?函數(shù))
這篇文章主要介紹了Mongodb多文檔聚合操作處理方法(Map-reduce函數(shù)),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)
這篇文章主要介紹了mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
MongoDB查詢性能優(yōu)化驗(yàn)證及驗(yàn)證
這篇文章主要介紹了MongoDB查詢性能驗(yàn)證及優(yōu)化的相關(guān)知識(shí),涉及到MongoDB 查詢優(yōu)化原則知識(shí)點(diǎn),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-02-02
MongoDB的聚合框架Aggregation Framework入門學(xué)習(xí)教程
MongoDB中的聚合aggregate主要用于處理數(shù)據(jù)計(jì)算,這里我們就來(lái)詳細(xì)整理MongoDB的聚合框架Aggregation Framework入門學(xué)習(xí)教程,需要的朋友可以參考下2016-07-07
MongoDB模糊查詢正則regex(類似like?和?not?like)
在類關(guān)系型數(shù)據(jù)庫(kù)中,like和not?like是常用的模糊查詢操作符,它允許我們?cè)谄ヅ渥侄蔚臅r(shí)候使用通配符,在MongoDB中,也有類似的操作符,MongoDB?可以使用?$regex?操作符來(lái)設(shè)置匹配字符串的正則表達(dá)式,MongoDB?使用?PCRE(Perl?兼容的正則表達(dá)式)作為正則表達(dá)式語(yǔ)言2024-02-02

