摘要:創建三個數據庫目錄啟動三個實例開啟命令行初始化查看添加一個從節點這里的是查出來的屬性添加一個再查看狀態可以看到變成了三個自動恢復執行下面的代碼模擬插入操作插入成功插入失敗正在
創建三個數據庫目錄
$ cd /data $ mkdir db27017 db27018 db27019
啟動三個實例
$ mongod --replSet replset --dbpath /data/db27017 --port 27017 --oplogSize 200 --smallfiles $ mongod --replSet replset --dbpath /data/db27018 --port 27018 --oplogSize 200 --smallfiles $ mongod --replSet replset --dbpath /data/db27019 --port 27019 --oplogSize 200 --smallfiles
開啟命令行
$ mongo
初始化
$ rs.initiate()
查看 name
$ rs.status()
添加一個從節點, 這里的 "lai-2.local" 是 rs.status() 查出來的 name 屬性
$ rs.add("lai-2.local:27018")
添加一個 arbiter
$ rs.addArb("lai-2.local:27019")再查看狀態, 可以看到 members 變成了三個
$ rs.status()
自動恢復
$ mongo —nodb
執行下面的代碼, 模擬插入操作
var conn = new Mongo("replset/localhost:27017,localhost:27018,localhost:27019"); var db =conn.getDB("test"); var count=0; while(count++<1000) { try{ sleep(1000); db.col.insert({n: count}); print("插入成功 #" + count); } catch(exception){ print("插入失敗 #"+count+", 正在重試..."); count--; } }
執行上述腳本后, 關掉 27017 的 shell 看看發生了什么?
數據庫連接 27017 失敗, 會嘗試連接 27018.
這時候 27018 變成主節點了.
重啟 27017 的話, 27017 變成非主節點了.
這時候再次關掉 27018 的shell, 27017 則會變成主節點.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18793.html
摘要:如果不存在則創建新記錄。如果值為,執行驗證。如果選項為,在新建時插入文檔定義的默認值。以模式進行更新。禁用模式,允許覆蓋記錄示例更新多個為的文檔將設置為更新多條數據與相同更新一條數據設置無效查找查詢條件控制返回的字段控制選項回調函數。 在使用node.js時,時常與之搭配的是mongoDB,一般我們不寫原生mongo語法,一個經常使用的mongo庫便是mongoose,由于個人記性比較...
摘要:簡述為何要分片減少單機請求數,降低單機負載,提高總負載減少單機的存儲空間,提高總存空間。就是用來存儲所有節點的配置信息每個的范圍在各的分布情況該集群中所有和的配置信息。 簡述 為何要分片 減少單機請求數,降低單機負載,提高總負載 減少單機的存儲空間,提高總存空間。 showImg(http://static.oschina.net/uploads/space/2014/0201/1...
摘要:注意事項用容器和編排工具運行介紹了一些額外注意事項數據庫是有狀態的。尤其,在副本集合中,一個節點必須被用來執行和命令。名字叫做的被配置用來確保的單個實例是一直在運行的。 想要在你的手提電腦上嘗試MongoDB嗎?執行一個命令,然后擁有一個輕量級,獨立的沙箱;再執行一個命令,刪除你完成之后所有的痕跡。是不是需要一個在多個環境中都跟你的應用程序堆棧一樣的應用程序?創建一你自己的容器鏡像,然...
摘要:注意事項用容器和編排工具運行介紹了一些額外注意事項數據庫是有狀態的。尤其,在副本集合中,一個節點必須被用來執行和命令。名字叫做的被配置用來確保的單個實例是一直在運行的。 想要在你的手提電腦上嘗試MongoDB嗎?執行一個命令,然后擁有一個輕量級,獨立的沙箱;再執行一個命令,刪除你完成之后所有的痕跡。是不是需要一個在多個環境中都跟你的應用程序堆棧一樣的應用程序?創建一你自己的容器鏡像,然...
摘要:注意事項用容器和編排工具運行介紹了一些額外注意事項數據庫是有狀態的。尤其,在副本集合中,一個節點必須被用來執行和命令。名字叫做的被配置用來確保的單個實例是一直在運行的。 想要在你的手提電腦上嘗試MongoDB嗎?執行一個命令,然后擁有一個輕量級,獨立的沙箱;再執行一個命令,刪除你完成之后所有的痕跡。是不是需要一個在多個環境中都跟你的應用程序堆棧一樣的應用程序?創建一你自己的容器鏡像,然...
閱讀 3125·2021-11-15 18:14
閱讀 1779·2021-09-22 10:51
閱讀 3290·2021-09-09 09:34
閱讀 3509·2021-09-06 15:02
閱讀 1025·2021-09-01 11:40
閱讀 3193·2019-08-30 13:58
閱讀 2529·2019-08-30 11:04
閱讀 1086·2019-08-28 18:31