rs.initiate()
์ด ํ์ด์ง์ ๋ด์ฉ
์ค๋ช
rs.initiate(configuration)
๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ค์ ํฉ๋๋ค. ์ ํ์ ์ผ๋ก ๋ฉ์๋๋ ๋ณต์ ๋ณธ ์ธํธ์ ๊ตฌ์ฑ์ ๋ด๊ณ ์๋ ๋ฌธ์ ํ์์ ์ธ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์
Mongo์ฌ ๋ฐฉ๋ฒ
์ด ํ์ด์ง์์๋
mongosh
๋ฉ์๋์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น ๋๋ Node.js์ ๊ฐ์ ์ธ์ด๋ณ ๋๋ผ์ด๋ฒ์ ๋ํ ์ค๋ช ์๊ฐ ์๋๋๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ ๋ํด์๋
replSetInitiate
๋ช ๋ น์ ์ฐธ์กฐํ์ญ์์ค.MongoDB API ๋๋ผ์ด๋ฒ์ ๊ฒฝ์ฐ ์ธ์ด๋ณ MongoDB ๋๋ผ์ด๋ฒ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
rs.initiate()
๋ฉ์๋์๋ ๋ค์๊ณผ ๊ฐ์ ๋งค๊ฐ๋ณ์๊ฐ ์์ต๋๋ค.Parameter์ ํ์ค๋ชconfiguration
๋ฌธ์
์ ํ ์ฌํญ์ ๋๋ค. ์ ๋ณต์ ๋ณธ ์ธํธ์ ๋ํ ๊ตฌ์ฑ์ ์ง์ ํ๋ ๋ฌธ์์ ๋๋ค. ๊ตฌ์ฑ์ ์ง์ ํ์ง ์์ผ๋ฉด MongoDB๋ ๊ธฐ๋ณธ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์ ์ฌ์ฉํฉ๋๋ค.
ํธํ์ฑ
์ด ๋ฉ์๋๋ ๋ค์ ํ๊ฒฝ์์ ํธ์คํ ๋๋ ๋ฐฐํฌ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
MongoDB Enterprise: MongoDB์ ๊ตฌ๋ ๊ธฐ๋ฐ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
MongoDB Community: MongoDB์ ์์ค ์ฌ์ฉ ๊ฐ๋ฅ ๋ฌด๋ฃ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
IP ๋ฐ์ธ๋ฉ
๊ฒฝ๊ณ
์ธ์คํด์ค๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ IP ์ฃผ์์ ๋ฐ์ธ๋ฉํ๊ธฐ ์ ์ ๋ฌด๋จ ์ ๊ทผ์ผ๋ก๋ถํฐ ํด๋ฌ์คํฐ๋ฅผ ๋ณดํธํด์ผ ํฉ๋๋ค. ๋ณด์ ๊ถ์ฅ ์ฌํญ์ ์ ์ฒด ๋ชฉ๋ก์ ์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ์๋ฒ์ ๋ํ ๋ณด์ ๊ฒ์ฌ ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์. ์ต์ํ ์ธ์ฆ์ ํ์ฑํํ๊ณ ๋คํธ์ํฌ ์ธํ๋ผ๋ฅผ ๊ฐํํ๋ ๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
2} ๋ฐmongod
MongoDB mongos
๋ฐ์ด๋๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ก์ปฌ ํธ์คํธ์ ๋ฐ์ธ๋ฉ๋ฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ์ ๋ํด net.ipv6
๊ตฌ์ฑ ํ์ผ ์ค์ ๋๋ --ipv6
๋ช
๋ น์ค ์ต์
์ด ์ค์ ๋์ด ์์ผ๋ฉด ๋ฐ์ด๋๋ฆฌ๊ฐ ๋ก์ปฌ ํธ์คํธ IPv6 ์ฃผ์์ ์ถ๊ฐ์ ์ผ๋ก ๋ฐ์ธ๋ฉ๋ฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ก์ปฌ ํธ์คํธ์ ๋ฐ์ธ๋ฉ๋ mongod
๋ฐ mongos
๋ ๋์ผํ ์ปดํจํฐ์์ ์คํ ์ค์ธ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ๋ง ํ์ฉํฉ๋๋ค. ์ด ๋ฐ์ธ๋ฉ ๋์์๋ mongosh
๋ฐ ๋ณต์ ๋ณธ ์งํฉ ๋๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ ๋ค๋ฅธ ๋ฉค๋ฒ๊ฐ ํฌํจ๋ฉ๋๋ค. ์๊ฒฉ ํด๋ผ์ด์ธํธ๋ ๋ก์ปฌ ํธ์คํธ์๋ง ๋ฐ์ธ๋ฉ๋ ๋ฐ์ด๋๋ฆฌ์๋ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๋ฐ์ธ๋ฉ์ ์ฌ์ ์ํ๊ณ ๋ค๋ฅธ IP ์ฃผ์์ ๋ฐ์ธ๋ฉํ๋ ค๋ฉด net.bindIp
๊ตฌ์ฑ ํ์ผ ์ค์ ๋๋ --bind_ip
๋ช
๋ น์ค ์ต์
์ ์ฌ์ฉํ์ฌ ํธ์คํธ ์ด๋ฆ ๋๋ IP ์ฃผ์ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
๊ฒฝ๊ณ
MongDB 5.0๋ถํฐ IP ์ฃผ์๋ก๋ง ๊ตฌ์ฑ๋ ๋ถํ ์ํ(split horizon) DNS ๋
ธ๋๊ฐ ์์ ์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํ๊ณ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค. 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
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค์
๋ณ๊ฒฝ๋ IP ์ฃผ์๋ก ์ธํด ๊ตฌ์ฑ์ด ์ ๋ฐ์ดํธ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ค๋ฉด IP ์ฃผ์ ๋์ DNS ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ธ์. ํนํ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์ ๋๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์์ ๊ตฌ์ฑํ ๋ IP ์ฃผ์ ๋์ DNS ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
IP ์ฃผ์ ๋์ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์คํ๋ฆฟ ๋คํธ์ํฌ ํธ๋ผ์ด์ฆ ์ ๋ฐ์ ๊ฑธ์ณ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ์ธ์. MongoDB 5.0๋ถํฐ IP ์ฃผ์๋ก๋ง ๊ตฌ์ฑ๋ ๋ ธ๋๋ ์คํํธ์ ์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํ๋ฉฐ ์์๋์ง ์์ต๋๋ค.
์์
๋ค์ ์์์์๋ ๋ฉค๋ฒ๊ฐ 3๊ฐ์ธ ์ ๋ณต์ ๋ณธ ์งํฉ์ ์์ํฉ๋๋ค.
mongod
์ธ์คํด์ค 3๊ฐ๋ --replSet
๋ช
๋ น์ค ์ต์
(๋๋ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ replication.replSetName
)์ด myReplSet
๋ก ์ค์ ๋ ์ํ์์ ์์๋์ด์ผ ํ๋ฉฐ --bind_ip
(๋๋ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ net.bindIp
)๋ฅผ ์ ์ ํ๊ฒ ์ค์ ํ์ฌ ๋ณต์ ๋ณธ ์ธํธ์ ๋ค๋ฅธ ๋ฉค๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
๊ฒฝ๊ณ
์ธ์คํด์ค๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ IP ์ฃผ์์ ๋ฐ์ธ๋ฉํ๊ธฐ ์ ์ ๋ฌด๋จ ์ ๊ทผ์ผ๋ก๋ถํฐ ํด๋ฌ์คํฐ๋ฅผ ๋ณดํธํด์ผ ํฉ๋๋ค. ๋ณด์ ๊ถ์ฅ ์ฌํญ์ ์ ์ฒด ๋ชฉ๋ก์ ์์ฒด ๊ด๋ฆฌ ๋ฐฐํฌ์๋ฒ์ ๋ํ ๋ณด์ ๊ฒ์ฌ ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์. ์ต์ํ ์ธ์ฆ์ ํ์ฑํํ๊ณ ๋คํธ์ํฌ ์ธํ๋ผ๋ฅผ ๊ฐํํ๋ ๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
mongosh
๋ฅผ mongod
์ธ์คํด์ค ์ค ํ๋์ ์ฐ๊ฒฐํ๊ณ rs.initiate()
๋ฅผ ์คํํฉ๋๋ค.
์ฐธ๊ณ
rs.initiate()
๋ฅผ ๋ณต์ ์ธํธ์ ๋จ์ผ mongod
์ธ์คํด์ค์์๋ง ์คํํฉ๋๋ค.
์ค์
๋ณ๊ฒฝ๋ IP ์ฃผ์๋ก ์ธํด ๊ตฌ์ฑ์ด ์ ๋ฐ์ดํธ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ค๋ฉด IP ์ฃผ์ ๋์ DNS ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ธ์. ํนํ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์ ๋๋ ์ค๋ฉ๋ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์์ ๊ตฌ์ฑํ ๋ IP ์ฃผ์ ๋์ DNS ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
IP ์ฃผ์ ๋์ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์คํ๋ฆฟ ๋คํธ์ํฌ ํธ๋ผ์ด์ฆ ์ ๋ฐ์ ๊ฑธ์ณ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ์ธ์. MongoDB 5.0๋ถํฐ IP ์ฃผ์๋ก๋ง ๊ตฌ์ฑ๋ ๋ ธ๋๋ ์คํํธ์ ์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํ๋ฉฐ ์์๋์ง ์์ต๋๋ค.
rs.initiate( { _id: "myReplSet", version: 1, members: [ { _id: 0, host : "mongodb0.example.net:27017" }, { _id: 1, host : "mongodb1.example.net:27017" }, { _id: 2, host : "mongodb2.example.net:27017" } ] } )
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ณต์ ๋ณธ ์ธํธ ๋ฐฐํฌ์ ๋ํ ์์ธํ ๋ด์ฉ ์ ์์ฒด ๊ด๋ฆฌํ ๋ณต์ ๋ณธ ์ธํธ ๋ฐฐํฌ๋ฅผ ์ฐธ์กฐํ์ธ์.