Docs Menu
Docs Home
/
MongoDB ๋งค๋‰ด์–ผ
/ / /

replSetInitiate

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • ์ •์˜
  • ํ˜ธํ™˜์„ฑ
  • ๊ตฌ๋ฌธ
  • IP ๋ฐ”์ธ๋”ฉ
  • ์˜ˆ์‹œ
replSetInitiate

replSetInitiate ๋ช…๋ น์€ ์ƒˆ ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํŒ

mongosh ์—์„œ ์ด ๋ช…๋ น์€ rs.initiate() ํ—ฌํผ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ๋„ ์‹คํ–‰ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ—ฌํผ ๋ฉ”์„œ๋“œ๋Š” mongosh ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ๋ฆฌํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ช…๋ น๊ณผ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽธ์˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ถ”๊ฐ€ ๋ฆฌํ„ด ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

replSetInitiate๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด db.runCommand( { <command> } ) ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

๋ณต์ œ๋ณธ ์„ธํŠธ์— ๋Œ€ํ•œ mongod ์ธ์Šคํ„ด์Šค ์ค‘ ํ•˜๋‚˜์—์„œ๋งŒ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ด ๋ช…๋ น์€ ๋‹ค์Œ ํ™˜๊ฒฝ์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ฐฐํฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • MongoDB Atlas: ํด๋ผ์šฐ๋“œ์—์„œ์˜ MongoDB ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์™„์ „ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค

์ค‘์š”

์ด ๋ช…๋ น์€ M0, M2, M5 ๋ฐ M10ํด๋Ÿฌ์Šคํ„ฐ ์ด์ƒ์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ง€์›๋˜์ง€ ์•Š๋Š” ๋ช…๋ น์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • MongoDB Enterprise: MongoDB์˜ ๊ตฌ๋… ๊ธฐ๋ฐ˜ ์ž์ฒด ๊ด€๋ฆฌ ๋ฒ„์ „

  • MongoDB Community: MongoDB์˜ ์†Œ์Šค ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฌด๋ฃŒ ์ž์ฒด ๊ด€๋ฆฌ ๋ฒ„์ „

๋ช…๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ๋ฌธ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค:

db.runCommand(
{
replSetInitiate : <config_document>
}
)

<config_document>๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๊ตฌ์„ฑ์„ ์ง€์ •ํ•˜๋Š” ๋ฌธ์„œ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ์€ ๊ฐ„๋‹จํ•œ 3๋…ธ๋“œ ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” config ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

{
_id : <setname>,
members : [
{_id : 0, host : <host0>},
{_id : 1, host : <host1>},
{_id : 2, host : <host2>},
]
}

์ค‘์š”

๋ณ€๊ฒฝ๋œ IP ์ฃผ์†Œ๋กœ ์ธํ•ด ๊ตฌ์„ฑ์ด ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด IP ์ฃผ์†Œ ๋Œ€์‹  DNS ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ํŠนํžˆ ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ์› ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์›์„ ๊ตฌ์„ฑํ•  ๋•Œ IP ์ฃผ์†Œ ๋Œ€์‹  DNS ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

IP ์ฃผ์†Œ ๋Œ€์‹  ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ”Œ๋ฆฟ ๋„คํŠธ์›Œํฌ ํ˜ธ๋ผ์ด์ฆŒ ์ „๋ฐ˜์— ๊ฑธ์ณ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”. MongoDB 5.0๋ถ€ํ„ฐ IP ์ฃผ์†Œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋Š” ์Šคํƒ€ํŠธ์—… ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•˜๋ฉฐ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

์ธ์Šคํ„ด์Šค๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ IP ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉํ•˜๊ธฐ ์ „์— ๋ฌด๋‹จ ์ ‘๊ทผ์œผ๋กœ๋ถ€ํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ณดํ˜ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ๊ถŒ์žฅ ์‚ฌํ•ญ์˜ ์ „์ฒด ๋ชฉ๋ก์€ ์ž์ฒด ๊ด€๋ฆฌ ๋ฐฐํฌ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋ณด์•ˆ ๊ฒ€์‚ฌ ๋ชฉ๋ก์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ตœ์†Œํ•œ ์ธ์ฆ์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

2} ๋ฐmongod MongoDB mongos ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด net.ipv6 ๊ตฌ์„ฑ ํŒŒ์ผ ์„ค์ • ๋˜๋Š” --ipv6 ๋ช…๋ น์ค„ ์˜ต์…˜์ด ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ IPv6 ์ฃผ์†Œ์— ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ๋ฐ”์ธ๋”ฉ๋œ mongod ๋ฐ mongos๋Š” ๋™์ผํ•œ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํด๋ผ์ด์–ธํŠธ์˜ ์—ฐ๊ฒฐ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ”์ธ๋”ฉ ๋™์ž‘์—๋Š” mongosh ๋ฐ ๋ณต์ œ๋ณธ ์ง‘ํ•ฉ ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‹ค๋ฅธ ๋ฉค๋ฒ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ํด๋ผ์ด์–ธํŠธ๋Š” ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์—๋งŒ ๋ฐ”์ธ๋”ฉ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ์—๋Š” ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ฐ”์ธ๋”ฉ์„ ์žฌ์ •์˜ํ•˜๊ณ  ๋‹ค๋ฅธ IP ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉํ•˜๋ ค๋ฉด net.bindIp ๊ตฌ์„ฑ ํŒŒ์ผ ์„ค์ • ๋˜๋Š” --bind_ip ๋ช…๋ น์ค„ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” IP ์ฃผ์†Œ ๋ชฉ๋ก์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

MongDB ๋ถ€ํ„ฐ 5.0 ์‹œ์ž‘, ๋ถ„ํ•  ์ˆ˜ํ‰ DNS IP ์ฃผ์†Œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋Š” ์‹œ์ž‘ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. disableSplitHorizonIPCheck ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ mongod ์ธ์Šคํ„ด์Šค๋Š” ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์™€ IP ์ฃผ์†Œ 198.51.100.1 ์™€ ์—ฐ๊ฒฐ๋œ ํ˜ธ์ŠคํŠธ๋ช… My-Example-Associated-Hostname์— ๋ชจ๋‘ ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค.

mongod --bind_ip localhost,My-Example-Associated-Hostname

์ด ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์›๊ฒฉ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” ๊ด€๋ จ IP ์ฃผ์†Œ 198.51.100.1๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

mongosh --host My-Example-Associated-Hostname
mongosh --host 198.51.100.1

๊ตฌ์„ฑ ๋ฌธ์„œ๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•œ ๋‹ค์Œ ๋ฌธ์„œ๋ฅผ rs.initiate() ๋„์šฐ๋ฏธ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

config = {
_id : "my_replica_set",
members : [
{_id : 0, host : "rs1.example.net:27017"},
{_id : 1, host : "rs2.example.net:27017"},
{_id : 2, host : "rs3.example.net", arbiterOnly: true},
]
}
rs.initiate(config)

์ค‘์š”

๋ณ€๊ฒฝ๋œ IP ์ฃผ์†Œ๋กœ ์ธํ•ด ๊ตฌ์„ฑ์ด ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด IP ์ฃผ์†Œ ๋Œ€์‹  DNS ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ํŠนํžˆ ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ์› ๋˜๋Š” ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์›์„ ๊ตฌ์„ฑํ•  ๋•Œ IP ์ฃผ์†Œ ๋Œ€์‹  DNS ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

IP ์ฃผ์†Œ ๋Œ€์‹  ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ”Œ๋ฆฟ ๋„คํŠธ์›Œํฌ ํ˜ธ๋ผ์ด์ฆŒ ์ „๋ฐ˜์— ๊ฑธ์ณ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”. MongoDB 5.0๋ถ€ํ„ฐ IP ์ฃผ์†Œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋Š” ์Šคํƒ€ํŠธ์—… ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•˜๋ฉฐ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํฌํŠธ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ํ˜ธ์ŠคํŠธ๊ฐ€ ๊ธฐ๋ณธ ํฌํŠธ 27017์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ์˜ˆ์—์„œ๋Š” arbiterOnly ์„ค์ •๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์˜ต์…˜์„ ๊ตฌ์„ฑ ๋ฌธ์„œ์—์„œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒ

๋‹ค์Œ๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋Œ์•„๊ฐ€๊ธฐ

replSetGetStatus