国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - MongoDB - MongoDB分片集群部署詳解

MongoDB分片集群部署詳解

2020-05-22 17:58navyaijm2012 MongoDB

這篇文章主要介紹了MongoDB分片集群部署詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

 一、環(huán)境說明

1、我們prod環(huán)境MongoDB的集群架構(gòu)是做的分片集群的部署,但是目前我們沒有分片,即所有數(shù)據(jù)都在一個分片上,后期如果數(shù)量大,需要分配,集群隨時可以分片,對業(yè)務(wù)方透明

2、各個角色的部署情況

 

角色 IP 端口 復(fù)制集名稱
mongos 172.21.244.101,172.21.244.102,172.21.244.94 27000
config server 172.21.244.101,172.21.244.102,172.21.244.94 27100 repl_configsvr
存儲節(jié)點(diǎn)(shard) 172.21.244.101,172.21.244.102,172.21.244.94 27101 shard1

 

3、MongoDB版本

?
1
2
mongos> db.version()
4.0.4-62-g7e345a7

二、基礎(chǔ)信息準(zhǔn)備

0、系統(tǒng)優(yōu)化

?
1
2
echo "never" >/sys/kernel/mm/transparent_hugepage/enabled
echo "never" >/sys/kernel/mm/transparent_hugepage/defrag

1、下載MongoDB二進(jìn)制文件

?
1
2
3
cd /chj/app
wget ops.chehejia.com:9090/pkg/chj_mongodb_4.0.4.tar.gz
tar -zxvf chj_mongodb_4.0.4.tar.gz

2、相關(guān)目錄建立

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#建立base目錄
mkdir /chj/data/mongodb/chj_db
#把MongoDB二進(jìn)制文件移動到base目錄下的bin文件夾
mv chj_mongodb_4.0.4/bin /chj/data/mongodb/chj_db/bin
#建立認(rèn)證文件目錄
mkdir /chj/data/mongodb/chj_db/auth
#建立配置文件目錄
mkdir /chj/data/mongodb/chj_db/conf
#建立config server的data和日志目錄
mkdir /chj/data/mongodb/chj_db/config/data -p
mkdir /chj/data/mongodb/chj_db/config/log
#建立mongos的日志目錄
mkdir /chj/data/mongodb/chj_db/mongos/log -p
#建立數(shù)據(jù)節(jié)點(diǎn)data和日志目錄
mkdir /chj/data/mongodb/chj_db/shard1/data -p
mkdir /chj/data/mongodb/chj_db/shard1/log

3、相關(guān)配置文件編寫

A、mongos的配置文件編寫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
vim /chj/data/mongodb/chj_db/conf/mongos.conf
systemLog:
 destination: file
 logAppend: true
 path: /chj/data/mongodb/chj_db/mongos/log/mongos.log
 
processManagement:
 fork: true # fork and run in background
 pidFilePath: /chj/data/mongodb/chj_db/mongos/log/mongos.pid # location of pidfile
 timeZoneInfo: /usr/share/zoneinfo
 
net:
 port: 27000
 bindIpAll: true
 maxIncomingConnections: 1000
 unixDomainSocket:
  enabled: true
  pathPrefix: /chj/data/mongodb/chj_db/mongos/log
  filePermissions: 0700
 
security:
 keyFile: /chj/data/mongodb/chj_db/auth/keyfile.key
# authorization: enabled
 
#replication:
 
sharding:
 configDB: repl_configsvr/172.21.244.101:27100,172.21.244.102:27100,172.21.244.94:27100

B、config server的配置文件編寫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
vim /chj/data/mongodb/chj_db/conf/config.conf
systemLog:
 destination: file
 logAppend: true
 path: /chj/data/mongodb/chj_db/config/log/congigsrv.log
 
storage:
 dbPath: /chj/data/mongodb/chj_db/config/data
 journal:
  enabled: true
 wiredTiger:
  engineConfig:
   directoryForIndexes: true
 
processManagement:
 fork: true # fork and run in background
 pidFilePath: /chj/data/mongodb/chj_db/config/log/configsrv.pid # location of pidfile
 timeZoneInfo: /usr/share/zoneinfo
 
net:
 port: 27100
 bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
 #bindIpAll: true
 maxIncomingConnections: 1000
 unixDomainSocket:
  enabled: true
  pathPrefix: /chj/data/mongodb/chj_db/config/data
  filePermissions: 0700
 
security:
 keyFile: /chj/data/mongodb/chj_db/auth/keyfile.key
 authorization: enabled
 
replication:
 replSetName: repl_configsvr
sharding:
 clusterRole: configsvr

C、存儲節(jié)點(diǎn)的配置文件編寫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
vim /chj/data/mongodb/chj_db/conf/shard1.conf
systemLog:
 destination: file
 logAppend: true
 path: /chj/data/mongodb/chj_db/shard1/log/shard1.log
 
storage:
 dbPath: /chj/data/mongodb/chj_db/shard1/data
 journal:
  enabled: true
 wiredTiger:
  engineConfig:
   directoryForIndexes: true
 
processManagement:
 fork: true # fork and run in background
 pidFilePath: /chj/data/mongodb/chj_db/shard1/log/shard1.pid # location of pidfile
 timeZoneInfo: /usr/share/zoneinfo
 
net:
 port: 27101
 bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
 #bindIpAll: true
 maxIncomingConnections: 1000
 unixDomainSocket:
  enabled: true
  pathPrefix: /chj/data/mongodb/chj_db/shard1/data
  filePermissions: 0700
 
security:
 keyFile: /chj/data/mongodb/chj_db/auth/keyfile.key
 authorization: enabled
 
replication:
 replSetName: shard1
sharding:
 clusterRole: shardsvr

4、生產(chǎn)key認(rèn)證文件

?
1
2
3
echo "chj123456" >/chj/data/mongodb/chj_db/auth/keyfile.key
#設(shè)置文件的權(quán)限為400,不然服務(wù)無法啟動
chmod 400 /chj/data/mongodb/chj_db/auth/keyfile.key

三、集群初始化

1、啟動 config server 服務(wù)

?
1
/chj/data/mongodb/chj_db/bin/mongod -f /chj/data/mongodb/chj_db/conf/config.conf

2、初始化config server集群

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#登錄其中一個config server節(jié)點(diǎn)
/chj/data/mongodb/chj_db/bin/mongo --port 27100
#配置集群
config = { _id:"repl_configsvr",members:[ {_id:0,host:"172.21.244.101:27100"}, {_id:1,host:"172.21.244.102:27100"}, {_id:2,host:"172.21.244.94:27100"}] }
#初始化集群
rs.initiate(config)
PS:
結(jié)果輸出如下,說明集群初始化成功,可以通過rs.status()命令查看集群狀態(tài)
{
    "ok" : 1,
    "$gleStats" : {
        "lastOpTime" : Timestamp(1557538260, 1),
        "electionId" : ObjectId("000000000000000000000000")
    },
    "lastCommittedOpTime" : Timestamp(0, 0)
}

3、啟動存儲節(jié)點(diǎn)服務(wù)

?
1
/chj/data/mongodb/chj_db/bin/mongod -f /chj/data/mongodb/chj_db/conf/shard1.conf

4、初始化存儲集群

?
1
2
3
4
5
6
7
8
9
#登錄你希望是主節(jié)點(diǎn)的服務(wù)器
/chj/data/mongodb/chj_db/bin/mongo --port 27101
#配置集群
config = { _id:"shard1",members:[ {_id:0,host:"172.21.244.101:27101"}, {_id:1,host:"172.21.244.102:27101"},{_id:2,host:"172.21.244.94:27101",arbiterOnly:true}] }
#初始化集群
rs.initiate(config)
PS:
結(jié)果輸出如下,說明集群初始化成功,可以通過rs.status()命令查看集群狀態(tài)
{ "ok" : 1 }

5、添加存儲集群的管理賬號

登錄主節(jié)點(diǎn)

?
1
2
3
4
5
6
7
8
9
/chj/data/mongodb/chj_db/bin/mongo --port 27101
use admin
db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
}
)

6、啟動mongos 服務(wù)

?
1
/chj/data/mongodb/chj_db/bin/mongos -f /chj/data/mongodb/chj_db/conf/mongos.conf

7、添加config server的管理賬號

登錄任意一個mongos節(jié)點(diǎn)

?
1
2
3
4
5
6
7
8
9
/chj/data/mongodb/chj_db/bin/mongo --port 27000
use admin
db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "root", db: "admin" } ]
}
)

8、把存儲節(jié)點(diǎn)添加到mongos

登錄任意一個mongos節(jié)點(diǎn)(如果是在上一步的窗口,需要退出重新登錄)

?
1
2
3
4
5
6
7
/chj/data/mongodb/chj_db/bin/mongo --port 27000
use admin
db.auth('root','123456')
#添加分片
sh.addShard('shard1/172.21.244.101:27101,172.21.244.102:27101,172.21.244.94:27101')
#查看分片狀態(tài)
sh.status()

四、交付業(yè)務(wù)方

1、建立應(yīng)用賬號

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
登錄任意一個mongos節(jié)點(diǎn)
/chj/data/mongodb/chj_db/bin/mongo --port 27000
use admin
db.auth('root','123456')
#切到業(yè)務(wù)數(shù)據(jù)庫
use chj_db
#建立讀寫賬號
db.createUser(
{
  user: "chj_db_rw",
  pwd: "123456",
  roles: [
   { role: "readWrite", db: "chj_db" },
   { role: "dbOwner", db: "chj_db" }
  ]
}
)
#建立只讀賬號(根據(jù)業(yè)務(wù)需求確認(rèn)是否需要)
db.createUser(
{
user: "chj_db_r",
pwd: "123456",
roles: [ { role: "read", db: "chj_db" } ]
}
)

2、交付開發(fā)人員信息

?
1
2
3
4
連接地址:172.21.244.101:27000,172.21.244.102:27000,172.21.244.94:27000
庫名:chj_db
賬號:chj_db_rw
密碼:123456

五、數(shù)據(jù)庫啟用分片

如果后期業(yè)務(wù)量大,需要開啟分片,配置如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#指定需要分片的數(shù)據(jù)庫
mongos> sh.enableSharding("chj_db")
{
    "ok" : 1,
    "operationTime" : Timestamp(1557546835, 3),
    "$clusterTime" : {
        "clusterTime" : Timestamp(1557546835, 3),
        "signature" : {
            "hash" : BinData(0,"bkrrr8Kxrr9j9udrDc/hURHld38="),
            "keyId" : NumberLong("6689575940508352541")
        }
    }
}
#在chj_db數(shù)據(jù)庫和users集合中創(chuàng)建了name和age為升序的片鍵
mongos> sh.shardCollection("chj_db.users",{name:1,age:1})
{
    "collectionsharded" : "chj_db.users",
    "collectionUUID" : UUID("59c0b99f-efff-4132-b489-f6c7e3d98f42"),
    "ok" : 1,
    "operationTime" : Timestamp(1557546861, 12),
    "$clusterTime" : {
        "clusterTime" : Timestamp(1557546861, 12),
        "signature" : {
            "hash" : BinData(0,"UBB1A/YODnmXwG5eAhgNLcKVzug="),
            "keyId" : NumberLong("6689575940508352541")
        }
    }
}
#查看分片情況
mongos> sh.status()
--- Sharding Status ---
 sharding version: {
    "_id" : 1,
    "minCompatibleVersion" : 5,
    "currentVersion" : 6,
    "clusterId" : ObjectId("5cd625e0da695346d740f749")
 }
 shards:
    { "_id" : "shard1", "host" : "shard1/172.21.244.101:27101,172.21.244.102:27101", "state" : 1 }
 active mongoses:
    "4.0.4-62-g7e345a7" : 3
 autosplit:
    Currently enabled: yes
 balancer:
    Currently enabled: yes
    Currently running: no
    Failed balancer rounds in last 5 attempts: 0
    Migration Results for the last 24 hours:
        No recent migrations
 databases:
    { "_id" : "chj_db", "primary" : "shard1", "partitioned" : true, "version" : { "uuid" : UUID("82088bc7-7b98-4033-843d-7058d8d959f6"), "lastMod" : 1 } }
        chj_db.users
            shard key: { "name" : 1, "age" : 1 }
            unique: false
            balancing: true
            chunks:
                shard1 1
            { "name" : { "$minKey" : 1 }, "age" : { "$minKey" : 1 } } -->> { "name" : { "$maxKey" : 1 }, "age" : { "$maxKey" : 1 } } on : shard1 Timestamp(1, 0)
    { "_id" : "config", "primary" : "config", "partitioned" : true }
        config.system.sessions
            shard key: { "_id" : 1 }
            unique: false
            balancing: true
            chunks:
                shard1 1
            { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : shard1 Timestamp(1, 0)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.51cto.com/navyaijm/2392829

延伸 · 閱讀

精彩推薦
  • MongoDBMongoDB 內(nèi)存使用情況分析

    MongoDB 內(nèi)存使用情況分析

    都說 MongoDB 是個內(nèi)存大戶,但是怎么知道它到底用了多少內(nèi)存呢...

    MongoDB教程網(wǎng)10002020-09-29
  • MongoDBMongoDB憑什么躋身數(shù)據(jù)庫排行前五

    MongoDB憑什么躋身數(shù)據(jù)庫排行前五

    MongoDB以比去年同期超出65.96分的成績繼續(xù)雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDB遷移sqlserver數(shù)據(jù)到MongoDb的方法

    遷移sqlserver數(shù)據(jù)到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數(shù)據(jù)到MongoDb的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBMongodb實(shí)現(xiàn)定時備份與恢復(fù)的方法教程

    Mongodb實(shí)現(xiàn)定時備份與恢復(fù)的方法教程

    這篇文章主要給大家介紹了Mongodb實(shí)現(xiàn)定時備份與恢復(fù)的方法教程,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面...

    chenjsh364522020-05-13
  • MongoDB分布式文檔存儲數(shù)據(jù)庫之MongoDB分片集群的問題

    分布式文檔存儲數(shù)據(jù)庫之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲數(shù)據(jù)庫之MongoDB分片集群的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDBMongoDB中javascript腳本編程簡介和入門實(shí)例

    MongoDB中javascript腳本編程簡介和入門實(shí)例

    作為一個數(shù)據(jù)庫,MongoDB有一個很大的優(yōu)勢——它使用js管理數(shù)據(jù)庫,所以也能夠使用js腳本進(jìn)行復(fù)雜的管理——這種方法非常靈活 ...

    MongoDB教程網(wǎng)6982020-04-24
  • MongoDBmongodb基本命令實(shí)例小結(jié)

    mongodb基本命令實(shí)例小結(jié)

    這篇文章主要介紹了mongodb基本命令,結(jié)合實(shí)例形式總結(jié)分析了MongoDB數(shù)據(jù)庫切換、查看、刪除、查詢等基本命令用法與操作注意事項,需要的朋友可以參考下...

    dawn-liu3652020-05-26
主站蜘蛛池模板: 久久精品国产99国产 | 成人高清免费观看 | 北条麻妃在线一区二区三区 | 久久久久亚洲 | 天天操操 | 伊人婷婷| 拍真实国产伦偷精品 | 亚洲免费在线 | 春色网站 | 青青草免费在线 | 日韩高清国产一区在线 | 免费观看一级特黄欧美大片 | 中文字幕高清在线 | 91精品国产欧美一区二区 | 欧美国产一区二区三区 | 亚洲人视频 | 一本大道专区 | 毛片视频免费 | 99精品欧美一区二区三区 | 精品日韩一区二区 | 日韩欧美一级片 | 中文字幕第5页 | 久久久夜夜夜 | 性色网 | 91视频免费观看 | 九九热视频在线 | 正在播放国产精品 | 国产日韩欧美在线观看 | 国产成人一区二区三区 | 黄在线看| 国产黄色一级毛片 | 亚洲精品一区二区三区蜜桃久 | 色女人的天堂 | 久草新免费 | 久久久久久久久久久久国产精品 | 精品国产资源 | 日本在线不卡视频 | 国产精品久久久久久久久久久久久 | 超碰一区 | 99久久婷婷国产精品综合 | 色综合网址 |