mongodb副本集搭建

本文以mongodb4.2.1為例搭建副本集,記錄搭建流程,便于大家學習

1.準備三臺機器(阿里云)

????mongo1? ? ? 47.100.32.119(192.168.0.78)

????mongo2? ? ? 106.15.40.89(192.168.0.79)

????mongo3? ? ? 106.15.40.101(192.168.0.80)

2.安裝mongodb

詳情可參考官方安裝文檔:(本文以ubuntu 16.4為例)

????https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

????1.安裝:

????????1.wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

????????2.echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

????????3.sudo apt-get update

????????4.sudo apt-get install -y mongodb-org

? ??2.啟動:

????????1.sudo service mongod start? ? #以默認配置文件啟動

????????2.sudo service mongod status #查看mongodb狀態

????????3.sudo service mongod stop? ? #停止服務

????????4.sudo service mongod restart #重啟服務

? ??3.卸載:

????1.sudo service mongod stop

????2.sudo apt-get purge mongodb*

????3.sudo rm -r /var/log/mongodb

? ? ? ? sudo rm -r /var/lib/mongodb

3.修改mongodb配置文件

????默認啟動文件為:

????????啟動文件:/usr/bin/mongod

????????配置文件:/etc/mongod.conf

????????數據文件:/var/lib/mongodb

????????日志文件:/var/log/mongodb.log

????修改文件位置為:(便于管理和配置,下面的文件位置需要自己手動在服務器上創建目錄和文件)

????????配置文件:/home/mongo/config/mongod.conf(拷貝默認文件 cp /etc/mongod.conf /home/mongo/config/mongod.conf)

????????數據文件:/home/mongo/data

????????日志文件:/home/mongo/log/mongod.log

4.修改配置文件:

????修改完成如下:

? ? #db path(1.修改數據存儲位置為自己新建的位置)

????????storage:

????????????? dbPath: /home/mongo/data

????# logger(2.修改日志文件為自己新建的位置)

????????systemLog:

????????????? destination: file

? ????????????logAppend: true

? ????????????path: /home/mongo/log/mongod.log

????# network interfaces (3.修改bindIp,解除綁定到本地限制)

? ? ? ? ?net:

? ????????????port: 27017

????????????? bindIp: 0.0.0.0

????#replication(4.注意修改副本集名稱,三臺服務器需要統一)

????????replication:

? ????????????replSetName: testRepl

????#sharding:

部分修改如上所示,需要別的可以繼續修好

5.啟動副本集

????????sudo /usr/bin/mongod --config /home/mongo/config/mongod.conf??

????依次在三臺機器上啟動,按照指定的配置文件, 然后進入本機客戶端:

????????sudo /usr/bin/mongo

????在三臺機器上任意一臺登陸mongodb(我這里在mongo1上登陸)

????#進入數據庫

????????user admin

????#進行初始化配置

????????config={_id:"testRepl",members:[{_id:0,host:"47.100.32.119:27017"},{_id:1,host:"106.15.40.89:27017"},{_id:2,host:"106.15.40.101:27017"}]}

????#初始化副本集

????????rs.initiate(config);

????#查詢初始化狀態(此處可查看到當前節點是主節點還是副本集)

????????rs.status();

????#重啟當前節點

????????db.shutdownServer();

6.數據測試

????找到主節點所在的服務器,也可自己設置主節點,然后建立test數據庫

????????use test

????#往testdb插入數據

????????db.testdb.insert({"test1":"test11"})

????#然后在副節點上查看數據是否復制過來

????#使用test 數據庫。

????????repset:SECONDARY> use test;

????????repset:SECONDARY> show tables;

????#如果看見錯誤信息:not master and slaveOk

????解決方案:

????????#mongodb默認是從主節點讀寫數據的,副本節點上不允許讀,需要設置副本節點可以讀。

????????????repset:SECONDARY> db.getMongo().setSlaveOk();

????????#可以看到數據已經復制到了副本集。

????????????repset:SECONDARY> db.testdb.find();

問題備注:

????搭建過程遇到的問題:

????????1.防火墻未關閉,導致三臺機器之間不能相互訪問

????????解決方法:

????????????1.查看防火墻當前狀態

????????????????sudo ufw status

????????????2.開啟防火墻

????????????????sudo ufw enable

????????????3.關閉防火墻(解決方案是關閉防火墻,此處列出一系列命令,便于使用查看)

????????????????sudo ufw disable

????????2.三臺機器中有一二臺開啟的權限認證,此時會報錯

????????解決方法:

????????????將對應機器的配置文件中授權注釋掉

? ??????3.數據庫版本不一致,也可能導致失敗

????????解決方法:

????????????統一數據庫版本,將不相同版本的數據庫卸載重裝,卸載步驟可參看官網文檔

單間完成后即可寫代碼測試,本副本集方案僅為測試使用參考!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374