์์ฒด ๊ด๋ฆฌํ ๋ณต์ ๋ณธ ์ธํธ์์ ๊ตฌ์ฑ์ ์ ๊ฑฐ
์ด ํ์ด์ง์ ๋ด์ฉ
๋ณต์ ๋ณธ ์ธํธ์ ๋ ธ๋๋ ๋ค์ ์ ์ฐจ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ฑฐ ๊ฐ๋ฅํฉ๋๋ค.
๋ค์์ ์ฌ์ฉํ์ฌ ๋ฉค๋ฒ ์ ๊ฑฐ rs.remove()
์ ๊ฑฐํ๋ ค๋ ๋ฉค๋ฒ์
mongod
์ธ์คํด์ค๋ฅผ ์ข ๋ฃํฉ๋๋ค. ์ธ์คํด์ค๋ฅผ ์ข ๋ฃํ๋ ค๋ฉด https://www.mongodb.com/ko-kr/docs/mongodb-shell/#mongodb-binary-bin.mongosh๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ๊ณdb.shutdownServer()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ณต์ ๋ณธ ์ธํธ์ ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ์ ์ฐ๊ฒฐํฉ๋๋ค. ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ณต์ ๋ณธ ์ธํธ์ ๋ฌด์์ ๋ฉค๋ฒ์ ์ฐ๊ฒฐ๋ ์ํ์์
db.hello()
๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ค์ ์์ ์ค
rs.remove()
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉค๋ฒ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.rs.remove("mongod3.example.net:27017") rs.remove("mongod3.example.net") ๋ณต์ ๋ณธ ์ธํธ์์ ์ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ MongoDB๋ ์ ธ ์ฐ๊ฒฐ์ ์ ์ ํด์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ์ ธ์ด ์๋์ผ๋ก ๋ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ๋ช ๋ น์ด ์ฑ๊ณตํ๋๋ผ๋ ์ ธ์
DBClientCursor::init call() failed
์ค๋ฅ๊ฐ ํ์๋ ์ ์์ต๋๋ค.
๋ค์์ ์ฌ์ฉํ์ฌ ๋ฉค๋ฒ ์ ๊ฑฐ rs.reconfig()
members
๋ฐฐ์ด์์ ํด๋น ๋ฉค๋ฒ๊ฐ ์ ๊ฑฐ๋ ๋ณต์ ๋ณธ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ ๋ณธ ์ธํธ ์ฌ๊ตฌ์ฑํ๋ ๋ฐฉ์์ผ๋ก ๋ฉค๋ฒ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
rs.reconfig()
๋ ํ ๋ฒ์ ์ต๋ 1
voting
๊ฐ ์ดํ์ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๋ณต์ ๋ณธ ์ธํธ์์ ์ฌ๋ฌ ํฌํ ๋ฉค๋ฒ๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด rs.reconfig()
์์
์ ์คํํ์ฌ ํ ๋ฒ์ ๋ฉค๋ฒ๋ฅผ ํ๋์ฉ ์ ๊ฑฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๊ตฌ์ฑ ์ ํ ๋ฒ์ ํ๋ ์ดํ์ ํฌํ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
์ ์ฐจ
์ ๊ฑฐํ๋ ค๋ ๋ฉค๋ฒ์
mongod
์ธ์คํด์ค๋ฅผ ์ข ๋ฃํฉ๋๋ค. ์ธ์คํด์ค๋ฅผ ์ข ๋ฃํ๋ ค๋ฉดmongosh
๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ๊ณdb.shutdownServer()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.๋ณต์ ๋ณธ ์ธํธ์ ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ์ ์ฐ๊ฒฐํฉ๋๋ค. ํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ณต์ ๋ณธ ์ธํธ์ ๋ฌด์์ ๋ฉค๋ฒ์ ์ฐ๊ฒฐ๋ ์ํ์์
db.hello()
๋ฅผ ์ฌ์ฉํฉ๋๋ค.rs.conf()
๋ฉ์๋๋ฅผ ์คํํ์ฌ ํ์ฌ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ ํ์ธํ๊ณmembers
๋ฐฐ์ด์์ ์ ๊ฑฐํ ๋ฉค๋ฒ์ ์์น๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.์์
mongod_C.example.net
์ ์๋ ๊ตฌ์ฑ ํ์ผ์2
์์น์ ์์ต๋๋ค.{ "_id" : "rs", "version" : 7, "members" : [ { "_id" : 0, "host" : "mongod_A.example.net:27017" }, { "_id" : 1, "host" : "mongod_B.example.net:27017" }, { "_id" : 2, "host" : "mongod_C.example.net:27017" } ] } ํ์ฌ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ
cfg
๋ณ์์ ํ ๋นํฉ๋๋ค.cfg = rs.conf() cfg
๊ฐ์ฒด๋ฅผ ์์ ํ์ฌ ๋ฉค๋ฒ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.์์
mongod_C.example.net:27017
๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ๋ค์ JavaScript ์์ ์ ์ฌ์ฉํฉ๋๋ค.cfg.members.splice(2,1) ๋ค์์ ์คํํ์ฌ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์๋ฅผ ์ ๊ตฌ์ฑ์ผ๋ก ๋ฎ์ด์๋๋ค.
rs.reconfig(cfg) ์ ๊ตฌ์ฑ์ ํ์ธํ๋ ค๋ฉด
rs.conf()
์คํํฉ๋๋ค.์์ ์์์ ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
{ "_id" : "rs", "version" : 8, "members" : [ { "_id" : 0, "host" : "mongod_A.example.net:27017" }, { "_id" : 1, "host" : "mongod_B.example.net:27017" } ] }