中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB安裝與副本集配置

發布時間:2020-06-30 16:35:17 來源:網絡 閱讀:836 作者:ljl_19880709 欄目:MongoDB數據庫
副本集是一組,由N個mongo節點組成并協同工作的,提供自動的故障集群轉移。
建立一個副本集需要步驟,1、需要啟動每個節點,2、然后進行初始化設置。在這里,我們將配置一組(三個節點),這是標準設置。

一旦mongod節點啟動,我們將發出一個命令,以正確地初始化設置。幾秒鐘后,將選舉產生一個主節點,你就可以開始寫和查詢集。


環境描述:

a.192.168.30.112:3306   主節點

b.192.168.30.113:3306   從節點

c.192.168.30.114:3306   從節點


1,解壓安裝mongodb

[root@localhost ~]# tar zxvf mongodb-linux-x86_64-2.0.4.tgz

[root@localhost ~]# mv mongodb-linux-x86_64-2.0.4 /usr/local/mongodb

[root@localhost ~]# cd /usr/local/mongodb/

[root@localhost mongodb]# mkdir -p mongodb_data/mongodb_db

[root@localhost mongodb]# mkdir mongodb_data/mongodb_logs

以上3臺服務器,一樣的安裝步驟


2.設置啟動配置文件

[root@localhost mongodb]# vi /etc/mongodb.conf

fork = true

quiet = true

bind_ip = 192.168.30.112

port = 3306

dbpath = /usr/local/mongodb/mongodb_data/mongodb_db

logpath = /usr/local/mongodb/mongodb_data/mongodb_logs/server1.log

logappend = true

journal = true

rest = true

replSet = test


其余2臺服務器,修改相應IP即可


3.啟動mongodb


[root@localhost ~]# /usr/local/mongodb/bin/mongod -f /etc/mongodb.conf


4.初始化節點

我們連接到其中一個節點上,并使用replSetInitiate命令進行初始化。此命令需要一個配置對象,指定設定的每個成員的名字。

>/usr/local/mongodb/bin/mongo 192.168.30.112:3306/admin

>config ={_id:"test",members:[

...{_id:0,host:'192.168.30.112:3306',priority:4},

...{_id:1,host:'192.168.30.113:3306',priority:2},

...{_id:2,host:'192.168.30.114:3306',priority:1}]

...}

>rs.initiate(config);

{

"info":"Config now saved locally.  Should come online in about a minute.",

"ok":1

}

PRIMARY> rs.status()

{

"set" : "test",

"date" : ISODate("2013-12-31T07:49:39Z"),

"myState" : 1,

"members" : [

{

"_id" : 0,

"name" : "192.168.30.112:3306",

"health" : 1,

"state" : 1,

"stateStr" : "PRIMARY",

"optime" : {

"t" : 1388474768000,

"i" : 1

},

"optimeDate" : ISODate("2013-12-31T07:26:08Z"),

"self" : true

},

{

"_id" : 1,

"name" : "192.168.30.113:3306",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 790,

"optime" : {

"t" : 1388474768000,

"i" : 1

},

"optimeDate" : ISODate("2013-12-31T07:26:08Z"),

"lastHeartbeat" : ISODate("2013-12-31T07:49:38Z"),

"pingMs" : 0

},

{

"_id" : 2,

"name" : "192.168.30.114:3306",

"health" : 1,

"state" : 2,

"stateStr" : "SECONDARY",

"uptime" : 786,

"optime" : {

"t" : 1388474768000,

"i" : 1

},

"optimeDate" : ISODate("2013-12-31T07:26:08Z"),

"lastHeartbeat" : ISODate("2013-12-31T07:49:38Z"),

"pingMs" : 0

}

],

"ok" : 1

}

檢查節點狀態。

復制

現在我們來測試一下,向主節點中寫點東西。

PRIMARY> db.test.save({c:3})

PRIMARY> db.test.find()

{ "_id" : ObjectId("52c2709235dd31988bc3e7c5"), "b" : 2 }

{ "_id" : ObjectId("52c2719035dd31988bc3e7c6"), "c" : 3 }


SECONDARY> db.test.find()

error: { "$err" : "not master and slaveok=false", "code" : 13435 }

錯誤解決辦法:

首先這是正常的,因為SECONDARY是不允許讀寫的, 在寫多讀少的應用中,使用Replica Sets來實現讀寫分離。通過在連接時指定或者在主庫指定slaveOk,由Secondary來分擔讀的壓力,Primary只承擔寫操作。
對于replica set 中的secondary 節點默認是不可讀的


SECONDARY> db.getMongo()
connection to 127.0.0.1:33333
SECONDARY> db.getMongo().setSlaveOk();
not master and slaveok=false

在主庫上設置 slaveok=ok

PRIMARY> db.getMongo().setSlaveOk();

在從庫進行測試
SECONDARY> db.user.find()
{ "_id" : ObjectId("4eb68b1540643e10a0000000"), "id" : 1, "name" : "zhangsan" }
{ "_id" : ObjectId("4eb68b1540643e10a0000001"), "id" : 2, "name" : ";lisi" }


這時候你去看看輔節點上的日志,你將會看到內容被復制了。









向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

建德市| 江西省| 南平市| 科尔| 章丘市| 余江县| 龙川县| 赤城县| 绥中县| 梁山县| 吉水县| 桐庐县| 无锡市| 精河县| 富顺县| 新乡县| 永济市| 墨竹工卡县| 铁岭县| 临潭县| 封丘县| 福海县| 二连浩特市| 班玛县| 承德市| 富阳市| 姚安县| 屏东市| 龙南县| 蕉岭县| 米脂县| 南宫市| 海城市| 连云港市| 齐河县| 那坡县| 平罗县| 易门县| 南木林县| 山阳县| 玉林市|