小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

《MongoDB高手課》學(xué)習(xí)記錄(第七天)

 小樣樣樣樣樣樣 2020-02-16

寫在前面

這周在出差,手頭只有一臺MAC,所以這節(jié)的學(xué)習(xí)全程在 MacOS 10.15.2 環(huán)境下進(jìn)行。

第七天

今天要學(xué)習(xí)的是《11 | 實(shí)驗(yàn):搭建MongoDB復(fù)制集》,是對昨天學(xué)習(xí)內(nèi)容的一個演練。

目標(biāo)

通過在一個電腦上裝三個數(shù)據(jù)庫實(shí)例來搭建一個復(fù)制集,步驟如下:

  1. 啟動一個MongoDB實(shí)例;

  2. 將3個實(shí)例搭建成一個復(fù)制集

  3. 對復(fù)制集參數(shù)的常規(guī)調(diào)整

準(zhǔn)備

  1. 安裝最新版本的MongoDB

  2. 配置環(huán)境變量,將Mongo的bin目錄配置到時PATH變量(如果是Windows就加到環(huán)境變量里)

  3. 確保10GB以上的硬盤空間

創(chuàng)建數(shù)據(jù)目錄

因?yàn)槭?個實(shí)例,所以要創(chuàng)建3個不同的目錄來保存數(shù)據(jù)文件、配置文件及日志文件。

實(shí)例目錄

/data/db1
/data/db2
/data/db3

可通過下面一條命令創(chuàng)建(MacOS及Linux)

mkdir -p /data/db{1,2,3}

windows下一個一個建吧

日志文件

統(tǒng)一命名為mongod.log,每個目錄下面一個

配置文件

統(tǒng)計(jì)命名為mongod.conf,每個目錄下面一個

準(zhǔn)備配置文件

端口

28017、28018、28019,每個實(shí)例指向不同的端口

配置文件(mongod.conf)

Linux/MacOS

systemLog:
  destination: file
  path: /data/db1/mongod.log ## 日志
  logAppend: true
storage:
  dbPath: /data/db1 ## 數(shù)據(jù)目錄
net:
  bindIp: 0.0.0.0 ## 本機(jī)所有網(wǎng)卡連接都提供對外服務(wù)
  port: 28017 ## 端口號
replication:
  replSetName: rs0  ## 復(fù)制集的名字為 rs0
processManagement:
  fork: true ## 進(jìn)程在后臺運(yùn)行

Windows

systemLog:
  destination: file
  path: c:\data\db1\mongod.log
  logAppend: true
storage:  
  dbPath: c:\data\db1
net:  
  bindIp: 0.0.0.0
  port: 28017
replication: 
  replSetName: rs0

啟動MongoDB進(jìn)程

每個實(shí)例都需要啟動一下,通過ps命令可以查看到進(jìn)程是不是啟動了

ps -ef |grep mongod

Linux/MacOS

mongod -f /data/db1/mongod.conf

Windows

窗口不能關(guān),要不然進(jìn)程就關(guān)了

mongod -f c:\data\db1\mongod.conf

配置復(fù)制集

方法1

hostname替換成實(shí)際的主機(jī)名,需要 /etc/hosts 文件中做了配置,能解析

mongo --port 28017
> rs.initiate()
> rs.add("HOSTNAME:28018")
> rs.add("HOSTNAME:28019")

運(yùn)行結(jié)果記錄

> rs.initiate()
{
    "info2" : "no configuration specified. Using a default configuration for the set",
    "me" : "MacBook-Pro.local:28017",
    "ok" : 1,
    "$clusterTime" : {
        "clusterTime" : Timestamp(1577280751, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    },
    "operationTime" : Timestamp(1577280751, 1)
}
rs0:SECONDARY>
rs0:PRIMARY> rs.add("MacBook-Pro.local:28018")
{
    "ok" : 1,
    "$clusterTime" : {
        "clusterTime" : Timestamp(1577280789, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    },
    "operationTime" : Timestamp(1577280789, 1)
}
rs0:PRIMARY> rs.add("MacBook-Pro.local:28019")
{
    "ok" : 1,
    "$clusterTime" : {
        "clusterTime" : Timestamp(1577280794, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    },
    "operationTime" : Timestamp(1577280794, 1)
}

方法2

mongo --port 28017
> rs.initiate({
  _id: "rs0",
  members: [
      {
        _id: 0,
        host: "localhost:28017" 
      },
      {
        _id: 1,
        host: "localhost:28018" 
      },
      {
        _id: 2,
        host: "localhost:28019" 
      }
  ]
})

驗(yàn)證配置

在28017上插入數(shù)據(jù),然后在28018上查看結(jié)果

28017

rs0:PRIMARY> db.test.findOne()
null
rs0:PRIMARY> db.test.insert({a:1})
WriteResult({ "nInserted" : 1 })
rs0:PRIMARY> db.test.findOne()
{ "_id" : ObjectId("5e03695cbed9486c92da1acd"), "a" : 1 }
rs0:PRIMARY> db.test.insert({a:2})
WriteResult({ "nInserted" : 1 })
rs0:PRIMARY> db.test.find()
{ "_id" : ObjectId("5e03695cbed9486c92da1acd"), "a" : 1 }
{ "_id" : ObjectId("5e03696cbed9486c92da1ace"), "a" : 2 }

28018

rs0:SECONDARY> rs.slaveOk() ## 從結(jié)點(diǎn)可以讀數(shù)據(jù)
rs0:SECONDARY> db.test.find() ## 否則這條報錯
rs0:SECONDARY> db.test.find()
{ "_id" : ObjectId("5e03695cbed9486c92da1acd"), "a" : 1 }
rs0:SECONDARY> db.test.find()
{ "_id" : ObjectId("5e03695cbed9486c92da1acd"), "a" : 1 }
{ "_id" : ObjectId("5e03696cbed9486c92da1ace"), "a" : 2 }
rs0:SECONDARY>

總結(jié)

今天主要學(xué)習(xí)了如何在一臺實(shí)體機(jī)器上,通過不同的端口來模擬搭建一個3結(jié)點(diǎn)的復(fù)制集

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多