Docs Menu

์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ฉค๋ฒ„๊ฐ€ ์žˆ๋Š” ์ž์ฒด ๊ด€๋ฆฌํ˜• ๋ณต์ œ๋ณธ ์„ธํŠธ ์žฌ๊ตฌ์„ฑ

๋Œ€๋ถ€๋ถ„์˜ ๋ฉค๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋ณต์ œ๋ณธ ์„ธํŠธ ์žฌ๊ตฌ์„ฑ ์ ˆ์ฐจ์˜ ์˜ˆ์‹œ์— ๋”ฐ๋ผ ํ˜„์žฌ ํ”„๋ผ์ด๋จธ๋ฆฌ ๋ณต์ œ๋ณธ์—์„œ rs.reconfig() ์ž‘์—…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์—์„œ๋Š” ์˜ค์ง ์†Œ์ˆ˜์˜ ๋ฉค๋ฒ„๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ๊ณ„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ๋ณต์ œ๋ณธ ์„ธํŠธ์—์„œ ๋กœ์ปฌ ๋ฉค๋ฒ„ ๊ทธ๋ฃน์ด ๊ณผ๋ฐ˜์ˆ˜์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ด ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณต์ œ๋ณธ ์„ธํŠธ ํˆฌํ‘œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„๊ฐ€ ๋‹ค์šด๋˜์—ˆ๊ฑฐ๋‚˜ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์—์„œ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์•„ ์žˆ๋Š” ๊ตฌ์„ฑ์›์— ์—ฐ๊ฒฐํ•˜๊ณ  rs.reconfig() ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ force ์˜ต์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

force ์˜ต์…˜์€ ๋ฉค๋ฒ„์—๊ฒŒ ์ƒˆ ๊ตฌ์„ฑ์„ ๊ฐ•์ œ๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ๋Š” ์น˜๋ช…์ ์ธ ์„œ๋น„์Šค ์ค‘๋‹จ์œผ๋กœ๋ถ€ํ„ฐ ๋ณต๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”. ์žฌ๊ตฌ์„ฑํ•  ๋•Œ๋งˆ๋‹ค force๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. ๋˜ํ•œ, ์ž๋™ ์Šคํฌ๋ฆฝํŠธ์—์„œ force ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  ํ”„๋ผ์ด๋จธ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•„์ง ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” force๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

๊ฒฝ๊ณ 

๊ฐ•์ œ ์žฌ๊ตฌ์„ฑ์œผ๋กœ ์ธํ•ด ์ปค๋ฐ‹๋œ ์“ฐ๊ธฐ์˜ ๋กค๋ฐฑ ํฌํ•จํ•˜์—ฌ ์˜ˆ๊ธฐ์น˜ "majority" ์•Š์€ ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ๊ฐ•์ œ๋กœ ์žฌ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. ๋‚จ์€ ๋ฉค๋ฒ„๋ฅผ ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.

  2. ๋‚จ์€ ๋ฉค๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ  ํ˜„์žฌ ๊ตฌ์„ฑ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์˜ˆ์‹œ ๋ช…๋ น์„ ๊ณ ๋ คํ•˜์„ธ์š”.

    cfg = rs.conf()
    printjson(cfg)
  3. ๋™์ผํ•œ ๋ฉค๋ฒ„์—์„œ members ๋ฐฐ์—ด์—์„œ ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋‹ค์šด๋˜์—ˆ๊ฑฐ๋‚˜ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ฉค๋ฒ„๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋‚จ์€ ๋‹จ๋… ๋ฉค๋ฒ„์™€ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑ๋œ cfg ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค์Œ ์˜ˆ์‹œ๋ฅผ ๊ณ ๋ คํ•ด๋ณด์„ธ์š”.

    cfg.members = [cfg.members[0] , cfg.members[4] , cfg.members[7]]
  4. ๋™์ผํ•œ ๋ฉค๋ฒ„์—์„œ force ์˜ต์…˜์„ true๋กœ ์„ค์ •ํ•œ ์ƒํƒœ์—์„œ rs.reconfig() ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธํŠธ๋ฅผ ์žฌ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    rs.reconfig(cfg, {force : true})

    ์ด ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์„ธ์ปจ๋”๋ฆฌ ์žฅ์น˜๊ฐ€ ์ƒˆ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ตฌ์„ฑ์€ members ๋ฐฐ์—ด์— ๋‚˜์—ด๋œ ๋ชจ๋“  ๋‚จ์•„ ์žˆ๋Š” ๋ฉค๋ฒ„์—๊ฒŒ ์ „ํŒŒ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณต์ œ๋ณธ ์„ธํŠธ๋Š” ์ƒˆ๋กœ์šด ํ”„๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    ์ฐธ๊ณ 

    force : true๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ์˜ ๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ์ˆ˜๋งŒ ๋˜๋Š” ์ˆ˜์‹ญ๋งŒ ๋‹จ์œ„๋กœ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ •์ƒ์ ์ธ ํ˜„์ƒ์ด๋ฉฐ ์‹ค์ˆ˜๋กœ ๋„คํŠธ์›Œํฌ ํŒŒํ‹ฐ์…˜์˜ ์–‘์ชฝ์—์„œ ๊ฐ•์ œ๋กœ ์žฌ๊ตฌ์„ฑํ•œ ํ›„ ๋„คํŠธ์›Œํฌ ๋ถ„ํ• ์ด ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ ์„ธํŠธ ๋ฒ„์ „ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  5. ์žฅ์•  ๋˜๋Š” ํŒŒํ‹ฐ์…˜์ด ์ผ์‹œ์ ์ธ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์ œ๊ฑฐ๋œ ๊ตฌ์„ฑ์›์„ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ์„œ๋น„์Šค๋ฅผ ํ•ด์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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