+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ MONGODB REPLICA SET AND SHARDING GUIDE
+ h/w 1개에 모두 설치. 예제. h/w 가 여러대이면, ip / port 만 바끼면됨.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
conf 파일 문법, YML - 띠어쓰기 간격 중요.
#CONTENTS
1.REPLICA SET 구성.
1.1 rs0 구성.
1.1.1 rs0/mongod1 port:30001
1.1.2 rs0/mongod2 port:30002
1.1.3 rs0/arbiter port:30003
1.1.4 rs0 replica set 설정
1.1.5 rs0 Arbiter 추가
1.2 rs1 구성.
1.2.1 rs1/mongod1 port:30004
1.2.2 rs1/mongod2 port:30005
1.2.3 rs1/arbiter port:30006
1.2.4 rs1 replica set 설정
1.2.5 rs1 Arbiter 추가
1.3 rs2 구성.
1.3.1 rs2/mongod1 port:30007
1.3.2 rs2/mongod2 port:30008
1.3.3 rs2/arbiter port:30009
1.3.4 rs2 replica set 설정
1.3.5 rs2 Arbiter 추가
2.CONFIG SERVER 구성.
2.1 cs0 구성 port:30010
2.2 cs1 구성 port:30020
2.3 cs2 구성 port:30030
2.4 config server replica set 설정
3.MONGOS ROUTER 구성.
3.1 mongos 구성. port:30000
3.2 sharding 설정.
4.전체 start/stop
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.1 rs0 구성.
1.1.1 rs0/mongod1
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs0/mongod1/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs0/mongod1/mongod1.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs0/mongod1"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs0_mongod1.pid"
net:
port: 30001
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs0"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.1 rs0 구성.
1.1.1 rs0/mongod2
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs0/mongod2/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs0/mongod2/mongod2.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs0/mongod2"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs0_mongod2.pid"
net:
port: 30002
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs0"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.1 rs0 구성.
1.1.3 rs0/arbiter
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs0/arbiter/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs0/arbiter/arbiter.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs0/arbiter"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs0_arbiter.pid"
net:
port: 30003
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs0"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#실행 rs0
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs0/mongod1/mongod.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs0/mongod2/mongod.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs0/arbiter/mongod.conf &
#shutdown
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs0/mongod1/mongod.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs0/mongod2/mongod.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs0/arbiter/mongod.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.1 rs0 구성.
1.1.4 rs0 replica set 설정
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#rs0 replica Set 설정.
#/home/mongo/mongodb/bin/mongo localhost:30001/admin 접속.(primary 만하면됨)
#arbiter 를 제외
rs.initiate(
{
_id: "rs0",
version: 1,
members: [
{ _id: 0, host : "127.0.0.1:30001" },
{ _id: 1, host : "127.0.0.1:30002" }
]
})
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.1 rs0 구성.
1.1.5 rs0 Arbiter 추가
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#primary shell 에서 Arbiter 추가.
#/home/mongo/mongodb/bin/mongo localhost:30001/admin 접속.(primary 만하면됨)
>rs.addArb("127.0.0.1:30003")
>rs0:PRIMARY> rs.status()
================================================================================rs0 구성 완료========================================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.2 rs1 구성.
1.2.1 rs1/mongod1
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs1/mongod1/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs1/mongod1/mongod1.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs1/mongod1"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs1_mongod1.pid"
net:
port: 30004
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs1"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.2 rs1 구성.
1.2.1 rs1/mongod2
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs1/mongod2/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs1/mongod2/mongod2.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs1/mongod2"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs1_mongod2.pid"
net:
port: 30005
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs1"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.2 rs1 구성.
1.2.3 rs1/arbiter
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs1/arbiter/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs1/arbiter/arbiter.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs1/arbiter"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs1_arbiter.pid"
net:
port: 30006
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs1"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#실행 rs1
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs1/mongod1/mongod.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs1/mongod2/mongod.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs1/arbiter/mongod.conf &
#shutdown
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs1/mongod1/mongod.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs1/mongod2/mongod.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs1/arbiter/mongod.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.2 rs1 구성.
1.2.4 rs1 replica set 설정
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#rs1 replica Set 설정.
#/home/mongo/mongodb/bin/mongo localhost:30004/admin 접속.(primary 만하면됨)
#arbiter 를 제외
rs.initiate(
{
_id: "rs1",
version: 1,
members: [
{ _id: 0, host : "127.0.0.1:30004" },
{ _id: 1, host : "127.0.0.1:30005" }
]
})
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.2 rs1 구성.
1.2.5 rs1 Arbiter 추가
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#primary shell 에서 Arbiter 추가.
#/home/mongo/mongodb/bin/mongo localhost:30004/admin 접속.(primary 만하면됨)
>rs.addArb("127.0.0.1:30006")
>rs1:PRIMARY> rs.status()
================================================================================rs1 구성 완료========================================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.3 rs2 구성.
1.3.1 rs3/mongod1
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs2/mongod1/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs2/mongod1/mongod1.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs2/mongod1"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs2_mongod1.pid"
net:
port: 30007
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs2"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.3 rs2 구성.
1.3.1 rs2/mongod2
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs2/mongod2/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs2/mongod2/mongod2.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs2/mongod2"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs2_mongod2.pid"
net:
port: 30008
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs2"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.3 rs2 구성.
1.3.3 rs2/arbiter
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/rs2/arbiter/mongod.conf
## 내용 ##
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/rs2/arbiter/arbiter.log"
logAppend: true
logRotate: rename
storage:
engine: wiredTiger
directoryPerDB: true
wiredTiger:
engineConfig:
journalCompressor: snappy
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
dbPath: "/home/mongo/mongodb/db/data/rs2/arbiter"
journal:
enabled: true
commitIntervalMs: 300
processManagement:
fork: true
pidFilePath: "/tmp/mongo_rs2_arbiter.pid"
net:
port: 30009
bindIpAll: true
maxIncomingConnections: 20000
unixDomainSocket:
enabled: false
replication:
oplogSizeMB: 10240
replSetName: "rs2"
setParameter:
failIndexKeyTooLong: false
sharding:
clusterRole: shardsvr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#실행 rs2
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs2/mongod1/mongod.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs2/mongod2/mongod.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs2/arbiter/mongod.conf &
#shutdown
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs2/mongod1/mongod.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs2/mongod2/mongod.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs2/arbiter/mongod.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.3 rs2 구성.
1.3.4 rs2 replica set 설정
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#rs2 replica Set 설정.
#/home/mongo/mongodb/bin/mongo localhost:30007/admin 접속.(primary 만하면됨)
#arbiter 를 제외
rs.initiate(
{
_id: "rs2",
version: 1,
members: [
{ _id: 0, host : "127.0.0.1:30007" },
{ _id: 1, host : "127.0.0.1:30008" }
]
})
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.REPLICA SET 구성.
1.2 rs2 구성.
1.2.5 rs2 Arbiter 추가
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#primary shell 에서 Arbiter 추가.
#/home/mongo/mongodb/bin/mongo localhost:30007/admin 접속.(primary 만하면됨)
>rs.addArb("127.0.0.1:30009")
>rs2:PRIMARY> rs.status()
================================================================================rs2 구성 완료========================================================
================================================================================REPLICA SET 구성 완료================================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.CONFIG SERVER 구성.
2.1 cs0 구성 port:30010
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/confsvr/cs0/confsvr.conf
## 내용 ##
storage:
dbPath: "/home/mongo/mongodb/db/data/cs0"
journal:
enabled: true
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/cs0/log.log"
logAppend: true
processManagement:
fork: true
net:
bindIpAll: true
port: 30010
replication:
oplogSizeMB: 40960
replSetName: "cs"
sharding:
clusterRole: "configsvr"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.CONFIG SERVER 구성.
2.2 cs1 구성 port:30020
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/confsvr/cs1/confsvr.conf
## 내용 ##
storage:
dbPath: "/home/mongo/mongodb/db/data/cs1"
journal:
enabled: true
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/cs1/log.log"
logAppend: true
processManagement:
fork: true
net:
bindIpAll: true
port: 30020
replication:
oplogSizeMB: 40960
replSetName: "cs"
sharding:
clusterRole: "configsvr"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.CONFIG SERVER 구성.
2.3 cs2 구성 port:30030
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/confsvr/cs2/confsvr.conf
## 내용 ##
storage:
dbPath: "/home/mongo/mongodb/db/data/cs2"
journal:
enabled: true
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/cs2/log.log"
logAppend: true
processManagement:
fork: true
net:
bindIpAll: true
port: 30030
replication:
oplogSizeMB: 40960
replSetName: "cs"
sharding:
clusterRole: "configsvr"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#실행 confsvr
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/confsvr/cs0/confsvr.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/confsvr/cs1/confsvr.conf &
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/confsvr/cs2/confsvr.conf &
#shutdown
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/confsvr/cs0/confsvr.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/confsvr/cs1/confsvr.conf
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/confsvr/cs2/confsvr.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2.CONFIG SERVER 구성.
2.4 config server replica set 설정
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#CONFIG SERVER 끼리 REPLICA SET 로 구성.
#/home/mongo/mongodb/bin/mongo localhost:30010/admin 접속.(primary 만하면됨)
>rs.initiate(
{
_id: "cs",
version: 1,
members: [
{ _id: 0, host : "127.0.0.1:30010" },
{ _id: 1, host : "127.0.0.1:30020" },
{ _id: 2, host : "127.0.0.1:30030" }
]
})
>exit
>재접속
>rs.status()
================================================================================CONFIG SERVER 구성 완료=============================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3.MONGOS ROUTER 구성.
3.1 mongos 구성. port:30000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/home/mongo/mongodb/db/config/mongos/mongos.conf
## 내용 ##
sharding:
configDB: "cs/127.0.0.1:30010,127.0.0.1:30020,127.0.0.1:30030"
systemLog:
destination: file
path: "/home/mongo/mongodb/db/log/mongos/mongos.log"
logAppend: true
processManagement:
fork: true
net:
port: 30000
bindIpAll: true
maxIncomingConnections: 30000
setParameter:
ShardingTaskExecutorPoolHostTimeoutMS : 3600000
ShardingTaskExecutorPoolMaxSize : 20
ShardingTaskExecutorPoolMinSize : 10
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
!!명령어 mongos , mongod 아님!!!!
#실행 mongos
/home/mongo/mongodb/bin/mongos -f /home/mongo/mongodb/db/config/mongos/mongos.conf &
#shutdown
/home/mongo/mongodb/bin/mongos --shutdown -f /home/mongo/mongodb/db/config/mongos/mongos.conf
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3.MONGOS ROUTER 구성.
3.2 sharding 설정. port:30000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#접속
#/home/mongo/mongodb/bin/mongo localhost:30000/admin
#shard (replica_set) 추가. arbiter 제외.
#sh.addShard("/<:port>,<:port>,…");
>sh.addShard("rs0/127.0.0.1:30001,127.0.0.1:30002")
>sh.addShard("rs1/127.0.0.1:30004,127.0.0.1:30005")
>sh.addShard("rs2/127.0.0.1:30007,127.0.0.1:30008")
#shard db 등록 sharding 할 database
sh.enableSharding("test")
#chunksize 설정.(default 64) 필요하면 하기.
>use config
#db.settings.save( { _id:"chunksize", value: } )
>db.settings.save( { _id:"chunksize", value: 32 } )
ex) sharding key
sh.shardCollection("test.collection명",{키:"hashed"},false,{numInitialChunks: 1})
sh.shardCollection("test.collection명",{키:1},false)
sh.shardCollection("test.collection명",{_id:"hashed"})
#중복된 데이타 제거 - 해당 mongod 에서 실행 해야함.-시간지나면 줄어듬. #primary 에서 해야함. db.runCommand( {cleanupOrphaned: "test.collection명"} ) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++4.전체 start/stop ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
start
/home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs0/mongod1/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs0/mongod2/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs0/arbiter/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs1/mongod1/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs1/mongod2/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs1/arbiter/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs2/mongod1/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs2/mongod2/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/rs2/arbiter/mongod.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/confsvr/cs0/confsvr.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/confsvr/cs1/confsvr.conf & /home/mongo/mongodb/bin/mongod -f /home/mongo/mongodb/db/config/confsvr/cs2/confsvr.conf &
/home/mongo/mongodb/bin/mongos -f /home/mongo/mongodb/db/config/mongos/mongos.conf &
stop
/home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs0/mongod1/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs0/mongod2/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs0/arbiter/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs1/mongod1/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs1/mongod2/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs1/arbiter/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs2/mongod1/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs2/mongod2/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/rs2/arbiter/mongod.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/confsvr/cs0/confsvr.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/confsvr/cs1/confsvr.conf /home/mongo/mongodb/bin/mongod --shutdown -f /home/mongo/mongodb/db/config/confsvr/cs2/confsvr.conf
#mongos 는 kill -9 pid 로
#/home/mongo/mongodb/bin/mongos --shutdown -f /home/mongo/mongodb/db/config/mongos/mongos.conf