標籤:god stat x64 windows failed chunk iat init tab
MongoDB Windows 叢集配置
一、實驗環境 :
Win7(X64),MongoDB 3.0.3
二、一台Win7電腦,配置方案如下:
1. 3個分區sharding
2. 每一個分區由3個節點構成1主2備的Replica Sets
3. 3個配置節點Configsever
4. 1個路由節點Mongos
分區複製集A(三個分區節點構成一個複製集):
127.0.0.1:10000 127.0.0.1:10001 127.0.0.1:10002
分區複製集B(三個分區節點構成一個複製集):
127.0.0.1:20000 127.0.0.1:20001 127.0.0.1:20002
分區複製集C(三個分區節點構成一個複製集):
127.0.0.1:30000 127.0.0.1:30001 127.0.0.1:30002
Configsvc(三個設定管理員節點):
127.0.0.1:40000 127.0.0.1:40001 127.0.0.1:4002
mongos(一個路由節點):
127.0.0.1:50000
三、詳細操作步驟:
1.下載mongodb 3.0.3 ,存放路徑:D:\MongoDB\mongodb3.0.3
2.建立資料和記錄檔目錄
建立資料檔案目錄:
data/a/r0
data/a/r1
data/a/r2
data/b/r0
data/b/r1
data/b/r2
data/c/r0
data/c/r1
data/c/r2
data/configsvr/r0
data/configsvr/r1
data/configsvr/r2
建立記錄檔目錄:
log/a
log/b
log/c
log/configsvr
log/route
3.建立分區和複製集
3.1 配置第一組setA:
設定檔shareA_r0.config:
dbpath=../data/a/r0
logpath=../log/a/r0.log
logappend=true
replSet=setA
port=10000
shardsvr=true
journal=true
設定檔shareA_r1.config
dbpath=../data/a/r1
logpath=../log/a/r1.log
logappend=true
replSet=setA
port=10001
shardsvr=true
journal=true
設定檔shareA_r2.config
dbpath=../data/a/r2
logpath=../log/a/r2.log
logappend=true
replSet=setA
port=10002
shardsvr=true
journal=true
分別啟動shareA_r0,shareA_r1,shareA_r2
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareA_r0.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareA_r1.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareA_r2.config
啟動上述分區節點之後,再使用mongo的命令列來初始化複製集
D:\MongoDB\mongodb3.0.3\bin>callmongo.exe 127.0.0.1:10000/admin
2016-10-13T10:56:09.898+0800 I CONTROL Hotfix KB2731284 or later update is not
installed, will zero-out data files
MongoDB shell version: 3.0.3
connecting to: 127.0.0.1:10000/admin
> config={_id: ‘setA‘, members:[{_id:0,host:‘127.0.0.1:10000‘},{_id:1,host:‘127
.0.0.1:10001‘},{_id:2,host:‘127.0.0.1:10002‘}]}
{
"_id" : "setA",
"members" : [
{
"_id" : 0,
"host" :"127.0.0.1:10000"
},
{
"_id" : 1,
"host" :"127.0.0.1:10001"
},
{
"_id" : 2,
"host" :"127.0.0.1:10002"
}
]
}
> rs.initiate(config)
{ "ok" : 1 }
3.2 配置第二組setB:
設定檔shareB_r0.config:
dbpath=../data/b/r0
logpath=../log/b/r0.log
logappend=true
replSet=setB
port=20000
shardsvr=true
journal=true
設定檔shareB_r1.config:
dbpath=../data/b/r1
logpath=../log/b/r1.log
logappend=true
replSet=setB
port=20001
shardsvr=true
journal=true
設定檔shareB_r2.config:
dbpath=../data/b/r2
logpath=../log/b/r2.log
logappend=true
replSet=setB
port=20002
shardsvr=true
journal=true
分別啟動shareB_r0,shareB_r1,shareB_r2
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareB_r0.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareB_r1.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareB_r2.config
啟動上述分區節點之後,再使用mongo的命令列來初始化複製集
D:\MongoDB\mongodb3.0.3\bin>callmongo.exe 127.0.0.1:20000/admin
2016-10-13T11:17:41.626+0800 I CONTROL Hotfix KB2731284 or later update is not
installed, will zero-out data files
MongoDB shell version: 3.0.3
connecting to: 127.0.0.1:20000/admin
> config={_id: ‘setB‘, members:[{_id:0,host:‘127.0.0.1:20000‘},{_id:1,host:‘127
.0.0.1:20001‘},{_id:2,host:‘127.0.0.1:20002‘}]}
{
"_id" : "setB",
"members" : [
{
"_id" : 0,
"host" :"127.0.0.1:20000"
},
{
"_id" : 1,
"host" :"127.0.0.1:20001"
},
{
"_id" : 2,
"host" :"127.0.0.1:20002"
}
]
}
> rs.initiate(config)
{ "ok" : 1 }
3.3 配置第三組setC:
設定檔shareC_r0.config:
dbpath=../data/c/r0
logpath=../log/c/r0.log
logappend=true
replSet=setC
port=30000
shardsvr=true
journal=true
設定檔shareC_r1.config:
dbpath=../data/c/r1
logpath=../log/c/r1.log
logappend=true
replSet=setC
port=30001
shardsvr=true
journal=true
設定檔shareC_r2.config:
dbpath=../data/c/r2
logpath=../log/c/r2.log
logappend=true
replSet=setC
port=30002
shardsvr=true
journal=true
分別啟動shareC_r0,shareC_r1,shareC_r2
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareC_r0.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareC_r1.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/shareC_r2.config
啟動上述分區節點之後,再使用mongo的命令列來初始化複製集
D:\MongoDB\mongodb3.0.3\bin>callmongo.exe 127.0.0.1:30000/admin
2016-10-13T11:17:41.626+0800 I CONTROL Hotfix KB2731284 or later update is not
installed, will zero-out data files
MongoDB shell version: 3.0.3
connecting to: 127.0.0.1:30000/admin
> config={_id: ‘setC‘, members:[{_id:0,host:‘127.0.0.1:30000‘},{_id:1,host:‘127
.0.0.1:30001‘},{_id:2,host:‘127.0.0.1:30002‘}]}
{
"_id" : "setC",
"members" : [
{
"_id" : 0,
"host" :"127.0.0.1:30000"
},
{
"_id" : 1,
"host" :"127.0.0.1:30001"
},
{
"_id" : 2,
"host" :"127.0.0.1:30002"
}
]
}
> rs.initiate(config)
{ "ok" : 1 }
3.4 啟動三個佈建服務節點Configsvr
設定檔configsvr_r0.config:
dbpath=../data/configsvr/r0
logpath=../log/configsvr/r0.log
logappend=true
port=40000
configsvr=true
journal=true
設定檔configsvr_r1.config:
dbpath=../data/configsvr/r1
logpath=../log/configsvr/r1.log
logappend=true
port=40001
configsvr=true
journal=true
設定檔configsvr_r2.config:
dbpath=../data/configsvr/r2
logpath=../log/configsvr/r2.log
logappend=true
port=40002
configsvr=true
journal=true
分別啟動configsvr_r0,configsvr_r1,configsvr_r2
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/configsvr/configsvr_r0.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/configsvr/configsvr_r1.config
D:\MongoDB\mongodb3.0.3\bin>mongod-f ../config/configsvr/configsvr_r2.config
3.5 啟動路由節點
設定檔route.config:
configdb=127.0.0.1:40000,127.0.0.1:40001,127.0.0.1:40002
port=50000
chunkSize=1
logpath=../log/route/mongos.log
logappend=true
啟動路由節點:
D:\MongoDB\mongodb3.0.3\bin>mongos-f ../config/routeconfig/route.config
3.6 配置分區
分區命令:
db.runCommand({addshard:"setA/127.0.0.1:10000,127.0.0.1:10001,127.0.0.1
:10002",name:"ShardSetA"})
db.runCommand({addshard:"setB/127.0.0.1:20000,127.0.0.1:20001,127.0.0.1
:20002",name:"ShardSetB"})
db.runCommand({addshard:"setC/127.0.0.1:30000,127.0.0.1:30001,127.0.0.1:
30002",name:"ShardSetC"})
printShardingStatus()
D:\MongoDB\mongodb3.0.3\bin>mongo127.0.0.1:50000
2016-10-13T14:26:08.284+0800 I CONTROL Hotfix KB2731284 or later update is not
installed, will zero-out data files
MongoDB shell version: 3.0.3
connecting to: 127.0.0.1:50000/test
mongos> use admin
switched to db admin
mongos> db.runCommand({addshard:"setA/127.0.0.1:10000,127.0.0.1:10001,127.0.0.1
:10002",name:"ShardSetA"})
{ "shardAdded" :"ShardSetA", "ok" : 1 }
mongos> db.runCommand({addshard:"setB/127.0.0.1:20000,127.0.0.1:20001,127.0.0.1
:20002",name:"ShardSetB"})
{ "shardAdded" : "ShardSetB","ok" : 1 }
mongos>db.runCommand({addshard:"setC/127.0.0.1:30000,127.0.0.1:30001,127.0.0.1:
30002",name:"ShardSetC"})
{ "shardAdded" :"ShardSetC", "ok" : 1 }
mongos> printShardingStatus()
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("57ff2830daabed7a3028cf41")
}
shards:
{ "_id" :"ShardSetA", "host": "setA/127.0.0.1:10000,127.0.0.1:10001,
127.0.0.1:10002" }
{ "_id" :"ShardSetB", "host": "setB/127.0.0.1:20000,127.0.0.1:20001,
127.0.0.1:20002" }
{ "_id" :"ShardSetC", "host": "setB/127.0.0.1:30000,127.0.0.1:30001,
127.0.0.1:30002" }
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" :"admin", "partitioned" : false, "primary" : "config" }
MongoDB Windows 叢集配置