濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 詳解mongodb搭建Replica Set的方法

詳解mongodb搭建Replica Set的方法

熱門(mén)標(biāo)簽:智能外呼系統(tǒng)官網(wǎng) 長(zhǎng)沙電銷(xiāo)外呼防封卡是什么 河南電話外呼系統(tǒng)招商 外呼線路資源屬于電信業(yè)務(wù)嗎 呼和浩特外呼系統(tǒng)原理是什么 內(nèi)蒙古營(yíng)銷(xiāo)智能外呼系統(tǒng)哪個(gè)好 小裙科技電銷(xiāo)機(jī)器人怎樣 crm外呼系統(tǒng)聯(lián)系方式 青白江400企業(yè)電話申請(qǐng)

1.創(chuàng)建數(shù)據(jù)文件夾:

mkdir -p /data/master  
mkdir -p /data/slaver  
mkdir -p /data/arbiter

 效果:

data 文件夾包含 arbiter   master  slaver 三個(gè)文件夾

2.創(chuàng)建日志存放文件

vi /log/master.log
vi /log/slaver.log
vi /log/arbiter.log

效果:

log文件夾包含 master.log  slaver.log  arbiter.log 三個(gè)文件(注意,data文件夾和lon文件夾均無(wú)上級(jí)文件夾,可自行創(chuàng)建不同名稱(chēng)不同位置的文件夾,注意路徑與下文中的配置文件一致即可)

3.創(chuàng)建配置文件

在第一步創(chuàng)建的三個(gè)文件中創(chuàng)建 文件夾同名.conf 后綴文件,即:master文件夾中應(yīng)有 master.conf 文件,slaver文件夾中應(yīng)有 slaver.conf文件,arbiter文件夾中應(yīng)有 arbiter.conf文件。

各配置文件內(nèi)容如下:

master.conf

dbpath =/data/master
logpath = /log/master.log
pidfilepath =/data/ master.pid
directoryperdb = true
logappend = true
replSet = away
bind_ip = localhost
port = 27018
#fork = true

slaver.conf

dbpath =/data/slaver
logpath =/log/slaver.log
pidfilepath = /data/slaver.pid
directoryperdb = true
logappend = true
replSet = away
bind_ip = localhost
port = 27019
#fork = true

arbiter.conf

dbpath = /data/arbiter
logpath = /log/arbiter.log
pidfilepath = arbiter.pid
directoryperdb = true
logappend = true
replSet = away
bind_ip = localhost
port = 27020
#fork = true

replSet、bind_ip、port三個(gè)屬性可根據(jù)自己情況進(jìn)行更改。

屬性大致解釋如下:

dbpath:數(shù)據(jù)存放目錄

logpath:日志存放路徑

pidfilepath:進(jìn)程文件,方便停止mongodb

directoryperdb:為每一個(gè)數(shù)據(jù)庫(kù)按照數(shù)據(jù)庫(kù)名建立文件夾存放

logappend:以追加的方式記錄日志

replSet:replica set的名字

bind_ip:mongodb所綁定的ip地址

port:mongodb進(jìn)程所使用的端口號(hào),默認(rèn)為27017

oplogSize:mongodb操作日志文件的最大大小。單位為Mb,默認(rèn)為硬盤(pán)剩余空間的5%

fork:以后臺(tái)方式運(yùn)行進(jìn)程

noprealloc:不預(yù)先分配存儲(chǔ)

4.啟動(dòng)mongod程序

mongod --config 配置路徑>

例如:

lhd@lhd:~$ sudo mongod --config /data/master/master.conf
[sudo] lhd 的密碼:

輸入密碼即可,此出應(yīng)注意啟動(dòng)權(quán)限。

5.主從配置

1).啟動(dòng)mongo客戶(hù)端:

mongo localhost:27018

運(yùn)行結(jié)果如下:

mongo localhost:27018
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27018/test?compressors=disabledgssapiServiceName=mongodb
Implicit session: session { "id" : UUID("0078e025-5485-4967-85c8-160755ac3d58") }
MongoDB server version: 4.4.2
---
The server generated these startup warnings when booting:
        2020-12-22T09:39:40.347+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
        2020-12-22T09:39:41.093+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2020-12-22T09:39:41.094+08:00: You are running this process as the root user, which is not recommended
        2020-12-22T09:39:41.095+08:00: Soft rlimits too low
        2020-12-22T09:39:41.095+08:00:         currentValue: 1024
        2020-12-22T09:39:41.095+08:00:         recommendedMinimum: 64000
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).
 
        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.
 
        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

2).設(shè)置主,從,仲裁點(diǎn)

use admin
switched to db admin
zjd={_id:"one",members:[{_id:0,host:"localhost:27018",priority:2},{_id:1,host:"localhost:27019",priority:1},{_id:2,host:"localhost:27020",arbiterOnly:true}]};

     zjd是可以任意的名字,不要用mongodb的關(guān)鍵字,conf,config都可以。

      第一個(gè)_id表示replica set的名字,這個(gè)數(shù)據(jù)必須和第三步配置文件中的replica set一致,不然會(huì)報(bào)錯(cuò)。

      members里包含的是所有節(jié)點(diǎn)的地址以及優(yōu)先級(jí),優(yōu)先級(jí)最高的即成為主節(jié)點(diǎn),值為0則不會(huì)參加選舉成為主節(jié)點(diǎn),對(duì)于仲裁節(jié)點(diǎn),需要有個(gè)特別的配置——arbiterOnly:true。這個(gè)千萬(wàn)不能少了,不然主備模式就不能生效。

      配置的生效時(shí)間根據(jù)不同的機(jī)器配置會(huì)有長(zhǎng)有短,配置不錯(cuò)的話基本上十幾秒內(nèi)就能生效,有的配置需要一兩分鐘。

3).使配置生效

rs.initiate(zjd)

顯示:

{
	"operationTime" : Timestamp(0, 0),
	"ok" : 0,
	"errmsg" : "Rejecting initiate with a set name that differs from command line set name, initiate set name: one, command line set name: away",
	"code" : 93,
	"codeName" : "InvalidReplicaSetConfig",
	"$clusterTime" : {
		"clusterTime" : Timestamp(0, 0),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}

4).查看狀態(tài)

> rs.status()

顯示:

{
	"set" : "away",
	"date" : ISODate("2020-12-22T02:07:27.058Z"),
	"myState" : 2,
	"term" : NumberLong(0),
	"syncSourceHost" : "",
	"syncSourceId" : -1,
	"heartbeatIntervalMillis" : NumberLong(2000),
	"majorityVoteCount" : 2,
	"writeMajorityCount" : 2,
	"votingMembersCount" : 3,
	"writableVotingMembersCount" : 2,
	"optimes" : {
		"lastCommittedOpTime" : {
			"ts" : Timestamp(0, 0),
			"t" : NumberLong(-1)
		},
		"lastCommittedWallTime" : ISODate("1970-01-01T00:00:00Z"),
		"appliedOpTime" : {
			"ts" : Timestamp(1608602837, 1),
			"t" : NumberLong(-1)
		},
		"durableOpTime" : {
			"ts" : Timestamp(1608602837, 1),
			"t" : NumberLong(-1)
		},
		"lastAppliedWallTime" : ISODate("2020-12-22T02:07:17.467Z"),
		"lastDurableWallTime" : ISODate("2020-12-22T02:07:17.467Z")
	},
	"lastStableRecoveryTimestamp" : Timestamp(0, 0),
	"members" : [
		{
			"_id" : 0,
			"name" : "localhost:27018",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 1667,
			"optime" : {
				"ts" : Timestamp(1608602837, 1),
				"t" : NumberLong(-1)
			},
			"optimeDate" : ISODate("2020-12-22T02:07:17Z"),
			"syncSourceHost" : "",
			"syncSourceId" : -1,
			"infoMessage" : "Could not find member to sync from",
			"configVersion" : 1,
			"configTerm" : 0,
			"self" : true,
			"lastHeartbeatMessage" : ""
		},
		{
			"_id" : 1,
			"name" : "localhost:27019",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 9,
			"optime" : {
				"ts" : Timestamp(1608602837, 1),
				"t" : NumberLong(-1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1608602837, 1),
				"t" : NumberLong(-1)
			},
			"optimeDate" : ISODate("2020-12-22T02:07:17Z"),
			"optimeDurableDate" : ISODate("2020-12-22T02:07:17Z"),
			"lastHeartbeat" : ISODate("2020-12-22T02:07:26.714Z"),
			"lastHeartbeatRecv" : ISODate("2020-12-22T02:07:26.768Z"),
			"pingMs" : NumberLong(0),
			"lastHeartbeatMessage" : "",
			"syncSourceHost" : "",
			"syncSourceId" : -1,
			"infoMessage" : "",
			"configVersion" : 1,
			"configTerm" : 0
		},
		{
			"_id" : 2,
			"name" : "localhost:27020",
			"health" : 1,
			"state" : 7,
			"stateStr" : "ARBITER",
			"uptime" : 9,
			"lastHeartbeat" : ISODate("2020-12-22T02:07:26.713Z"),
			"lastHeartbeatRecv" : ISODate("2020-12-22T02:07:25.991Z"),
			"pingMs" : NumberLong(0),
			"lastHeartbeatMessage" : "",
			"syncSourceHost" : "",
			"syncSourceId" : -1,
			"infoMessage" : "",
			"configVersion" : 1,
			"configTerm" : 0
		}
	],
	"ok" : 1,
	"$clusterTime" : {
		"clusterTime" : Timestamp(1608602837, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	},
	"operationTime" : Timestamp(1608602837, 1)
}

配置完成!

到此這篇關(guān)于mongodb搭建Replica Set的方法的文章就介紹到這了,更多相關(guān)mongodb搭建Replica Set內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Go語(yǔ)言獲取系統(tǒng)性能數(shù)據(jù)gopsutil庫(kù)的操作
  • golang獲取網(wǎng)卡信息操作
  • golang判斷net.Conn 是否已關(guān)閉的操作
  • golang:json 反序列化的[]和nil操作
  • 解決Golang json序列化字符串時(shí)多了\的情況
  • go語(yǔ)言 bool類(lèi)型的使用操作

標(biāo)簽:舟山 白山 安順 楚雄 池州 菏澤 呼倫貝爾 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解mongodb搭建Replica Set的方法》,本文關(guān)鍵詞  詳解,mongodb,搭建,Replica,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解mongodb搭建Replica Set的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于詳解mongodb搭建Replica Set的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    高平市| 秦安县| 南川市| 金山区| 锦屏县| 水城县| 广宁县| 高要市| 富裕县| 阿坝| 江门市| 河间市| 筠连县| 九江市| 丰都县| 湖北省| 平山县| 荆门市| 剑阁县| 呼图壁县| 阿拉善盟| 石城县| 永顺县| 恭城| 南木林县| 黑山县| 武夷山市| 上饶市| 溧阳市| 华安县| 连平县| 莱州市| 青浦区| 镇康县| 信丰县| 调兵山市| 土默特左旗| 泰兴市| 新田县| 柯坪县| 中阳县|