롤링 업그레이드
롤링 업그레이드
롤링 업그레이드는 클러스터의 서버를 한 대씩 순서대로 업데이트하는 과정이에요. HBase 버전이 바이너리 또는 와이어 호환이면 롤링 업그레이드를 할 수 있어요. 서버를 하나씩 정상 종료하고, 소프트웨어를 업데이트한 뒤 다시 시작하는 방식이에요. 다운타임을 최소화하고 싶을 때 사용해요.
출처: 문서
본문
롤링 업그레이드는 클러스터의 서버를 한 대씩 업데이트하는 과정이에요. HBase 버전이 바이너리 또는 와이어 호환이면 버전 간 롤링 업그레이드를 할 수 있어요. 이것이 무엇을 의미하는지는 아래의 "바이너리/와이어 호환이 되는 버전 간 롤링 업그레이드" 섹션에서 더 자세히 설명해요. 대략적으로 말하면, 롤링 업그레이드는 각 서버를 정상 종료(graceful stop)하고 소프트웨어를 업데이트한 다음 재시작하는 방식이에요. 이 과정을 클러스터의 각 서버에 대해 수행해요. 보통 Master를 먼저 업그레이드하고 그다음 RegionServer들을 업그레이드해요. 롤링 업그레이드 과정을 도와주는 도구는 Rolling Restart를 참고하세요.
예를 들어, 아래에서는 HBase가 실제 HBase 설치 위치에 심볼릭 링크(symlink)되어 있었어요. 업그레이드할 때 클러스터 전체에 롤링 재시작을 실행하기 전에 심볼릭 링크가 새 HBase 소프트웨어 버전을 가리키도록 바꾸고 다음을 실행했어요.
$ HADOOP_HOME=~/hadoop-2.6.0-CRC-SNAPSHOT ~/hbase/bin/rolling-restart.sh --config ~/conf_hbase
rolling-restart 스크립트는 먼저 master를 정상 종료하고 재시작한 다음, 각 RegionServer를 차례로 처리해요. 심볼릭 링크가 바뀌었으므로 재시작하면 서버는 새 HBase 버전으로 기동돼요. 롤링 업그레이드가 진행되는 동안 로그에 오류가 없는지 확인하세요.
바이너리/와이어 호환이 되는 버전 간 롤링 업그레이드
달리 명시되지 않는 한, HBase 마이너 버전은 바이너리 호환이에요. HBase 포인트 버전 간에는 롤링 업그레이드를 할 수 있어요. 예를 들어 1.4.4 바이너리를 1.4.6 바이너리로 교체하며 클러스터 전체에 롤링 업그레이드를 수행해 1.4.4에서 1.4.6으로 갈 수 있어요.
아래의 마이너 버전별 섹션에서는 버전이 와이어/프로토콜 호환되는 경우를 짚어 주는데, 이 경우에도 롤링 업그레이드를 할 수 있어요.