본문 바로가기

리눅스

우분투에서 MHA(Master High Availability)를 컴파일하고 설치하는 방법

728x90

우분투에서 MHA(Master High Availability)를 컴파일하고 설치하는 방법

1. 사전 요구사항

시스템에 필요한 종속성이 설치되어 있는지 확인하세요. MySQL/MariaDB 개발 라이브러리, Perl 및 기타 필수 라이브러리가 설치되어 있어야 합니다.

sudo apt-get update
sudo apt-get install -y gcc make libdbi-perl libdbd-mysql-perl libio-socket-ssl-perl
sudo apt-get install -y libconfig-tiny-perl liblog-dispatch-perl libparallel-forkmanager-perl

2. MHA 패키지 다운로드

cd /usr/local/src
sudo wget https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58.tar.gz
sudo wget https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-manager-0.58.tar.gz

3. MHA 노드 설치

  • 압축 해제합니다.
tar xf mha4mysql-node-0.58.tar.gz
  • MHA 노드 디렉터리로 이동합니다.
cd mha4mysql-node-0.58
  • MHA 노드를 컴파일하고 설치합니다
perl Makefile.PL
make
sudo make install
728x90

4. MHA 매니저 설치

  • 압축 해제합니다.
tar xf mha4mysql-manager-0.58.tar.gz
  • MHA 매니저 디렉터리로 이동합니다.
cd mha4mysql-manager-0.58
perl Makefile.PL
$ perl Makefile.PL
*** Module::AutoInstall version 1.06
*** Checking for Perl dependencies...
[Core Features]
- DBI                   ...loaded. (1.643)
- DBD::mysql            ...loaded. (4.050)
- Time::HiRes           ...loaded. (1.9767)
- Config::Tiny          ...loaded. (2.28)
- Log::Dispatch         ...loaded. (2.70)
- Parallel::ForkManager ...loaded. (2.02)
- MHA::NodeConst        ...missing.
==> Auto-install the 1 mandatory module(s) from CPAN? [y] y
...
  • MHA 매니저를 컴파일하고 설치합니다.
make
$ make
"/usr/bin/perl" "-Iinc" Makefile.PL --config= --installdeps=MHA::NodeConst,0
*** Installing dependencies...
*** Installing MHA::NodeConst...

CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] yes
...
sudo make install
  • mha 명령어 alias 설정
vim ~/.bashrc
alias replcheck='/usr/local/bin/masterha_check_repl --conf=/etc/app1.cnf'
alias sshcheck='/usr/local/bin/masterha_check_ssh --conf=/etc/app1.cnf'

alias start='/usr/local/bin/masterha_manager --conf=/etc/app1.cnf &'
alias status='/usr/local/bin/masterha_check_status --conf=/etc/app1.cnf'
alias stop='/usr/local/bin/masterha_stop --conf=/etc/app1.cnf'

alias log='tail -f /home/mhauser/logs/manager.log'
source ~/.bashrc

5. 구성

  • MHA 노드와 MHA 매니저를 설치한 후, 구성 파일을 설정해야 합니다. 보통 MHA 매니저와 노드용 각각의 구성 파일(mha.cnf 등)을 생성합니다.
  • MHA 매니저 구성 파일은 복제 토폴로지, 모니터링 서버 등의 정보를 포함합니다.
  • MHA 노드 구성 파일은 MySQL 마스터 및 슬레이브 정보, SSH 사용자 등과 같은 매개변수를 포함해야 합니다.

6. 설치 확인

  • 구성 파일을 설정한 후, MHA 매니저 명령어를 사용하여 MySQL 복제 클러스터를 관리하는 MHA 설정을 테스트할 수 있습니다.

운영체제와 패키지 버전에 따라 특정 단계와 명령어가 다를 수 있으므로, 운영 환경에 배포하기 전에 테스트 환경에서 MHA 설정을 테스트하는 것이 좋습니다.

 

참고URL

- https://github.com/yoshinorim/mha4mysql-manager/wiki

 

728x90