mkdir -p /configdb/
openssl rand -base64 756 > /db/conf/keyfile
chmod 400 /db/conf/keyfile
生成後複製到所有節點,集群中所有節點使用同乙個keyfile
storage:
dbpath: "/configdb/data"
journal:
enabled: true
systemlog:
destination: file
path: "/configdb/log/mongod.log"
processmanagement:
fork: true
net:
bindip: 192.168
.3.103,127.0
.0.1
port: 27020
security:
keyfile: "/configdb/conf/keyfile"
sharding:
clusterrole: configsvr
replication:
replsetname: "config"
mongod -f /configdb/conf/mongod.conf
當前還沒有使用者被建立,只能通過localhost介面連線到 mongo shell,第乙個使用者被建立後,localhost介面關閉。
rs
.initiate(
, ,
]})
mkdir -p /sharddb/
集群中所有節點使用同乙個keyfile, 使用上面的keyfile檔案
storage:
dbpath: "/sharddb/data"
engine: wiredtiger
wiredtiger:
engineconfig:
cachesizegb: 4
indexconfig:
prefixcompression: true
journal:
enabled: true
systemlog:
destination: file
path: "/sharddb/log/mongod.log"
processmanagement:
fork: true
net:
bindip: 192.168
.3.103,127.0
.0.1
port: 27018
security:
keyfile: "/sharddb/conf/keyfile"
replication:
oplogsizemb: 5000
replsetname: "rs1"
sharding:
clusterrole: shardsvr
各mongod例項按實際情況修改以上引數
mongod -f /sharddb/conf/mongod.conf
當前還沒有使用者被建立,只能通過localhost介面連線到 mongo shell,第乙個使用者被建立後,localhost介面關閉。
rs
.initiate(
, ,
]})
第乙個使用者建立完成後,localhost exception就不可用了,所以第乙個使用者(例如:useradminanydatabase)必須具有建立使用者的許可權
必須在主節點上建立使用者
use
admin
db.createuser(
]})
集群管理員使用者可以修改複製集配置
use
admin
db.createuser(]}
)
mkdir -p /mongos/
集群中所有節點使用同乙個keyfile, 使用上面的keyfile檔案
systemlog:
destination: file
path: "/mongos/log/mongos.log"
processmanagement:
fork: true
net:
bindip: 192.168
.3.103,127.0
.0.1
port: 27019
security:
keyfile: "/mongos/conf/keyfile"
sharding:
configdb: config/192.168
.3.103:27020, 192.168
.3.104:27020, 192.168
.3.105:27020
mongos -f /mongos/conf/mongos.conf
當前還沒有使用者被建立,只能通過localhost介面連線到 mongo shell,第乙個使用者被建立後,localhost介面關閉。
use
admin
db.createuser(
]})
use
admin
db.createuser(]}
)
以下操作必須用集群管理員操作
sh.addshard('rs1/192.168.3.103:27018')
sh.enablesharding('test')
sh.shardcollection(".", )
片鍵必須是索引,如果集合是空的,會自動建索引 mongodb部署分片集群
在3臺centos 6伺服器上部署mongodb分片集群,其中副本集 replica set 部署在不同的伺服器上,每個伺服器有乙個配置 config 副本集,兩個分片 sharding 副本集,以及乙個mongos服務。所以3臺伺服器總共需要部署12個服務。3臺伺服器ip分別是 172.16.66...
mongoDB 分片集群部署
mongodb將大量的資料檔案進行切割,將切割的資料塊分別儲存到不同的片上,其中每個片為乙個副本集,而對外通過mongos提供統一介面,使用者實際上感覺不到內部分片機制。replicaset 副本集 mongodb集群的一種實現方式,該副本集由一台活躍mongodb伺服器 節點 和兩台非活躍mong...
mongodb分布式集群部署,集群分片策略
由於專案需要,要部署乙個副本集的分片集群,有三個伺服器用來部署mongodb,我們將資料分為2個副本集分片,並分別部署2個config server和2個mongos,則具體分配如下 server 192.168.155.224 10001 shard1 10002 shard2 20001 con...