본문 바로가기
기술, 개발/Vitess

로키리눅스 vitess 설치

by Jaejin Sim 2025. 8. 28.
반응형

Vitess 설치 가이드

Vitess는 MySQL을 확장할 수 있는 분산형 데이터베이스 시스템으로, vttablet, vtgate, etcd 등의 여러 구성 요소를 포함하고 있습니다. 아래는 Vitess를 설치하고 구성하는 단계별 가이드입니다.

참고 문헌


1. 기본 설치 패키지 설치

Vitess 설치에 필요한 기본 패키지를 설치합니다. 아래 명령어를 실행하세요:

sudo yum install wget curl make unzip gcc-c++

2. MySQL 8.0 설치

방법 1: MySQL 공식 리포지토리 이용한 설치

MySQL 8.0을 설치하기 위해, 로키 리눅스에서 기본 MySQL 모듈 스트림을 비활성화하고 MySQL 공식 리포지토리에서 제공하는 패키지를 설치합니다.

 

MySQL 공식 리포지토리 추가:

sudo yum -y localinstall <https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm>

 

기본 MySQL 모듈 비활성화:

sudo dnf module disable mysql -y

 

MySQL 설치:

sudo yum -y install mysql-community-server

 

GPG 키 오류 발생 시 설치

sudo dnf install -y mysql-community-server --nogpgcheck

 

방법 2: Rocky Linux 기본 리포지토리 사용

MySQL 설치:

sudo yum install mysql
sudo yum install mysql-server

 


3. etcd 설치

etcd는 Vitess의 클러스터 상태 관리에 필요합니다. 아래 명령어를 통해 수동으로 설치할 수 있습니다.

 

최신 버전 다운로드:

wget <https://github.com/etcd-io/etcd/releases/download/v3.5.18/etcd-v3.5.18-linux-amd64.tar.gz>
tar -xzvf etcd-v3.5.18-linux-amd64.tar.gz
cd etcd-v3.5.18-linux-amd64
mv etcd etcdctl etcdutl /usr/local/bin/

 

버전 확인:

etcd --version
etcdctl version

환경 변수 설정

/usr/local/bin이 환경변수에 포함되지 않았다면 아래 명령어로 추가하세요:

echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

 


4. Node.js 설치

Vitess는 Node.js가 필요할 수 있습니다. 아래 명령어를 통해 Node.js를 설치합니다.

NVM을 통해 Node.js 설치:

curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh> | bash
source ~/.bashrc
nvm install 18
nvm use 18

 

보안 설정 해제:

sudo setenforce 0

 


5. Golang 설치 (버전 1.24 이상 필요)

Vitess는 Golang으로 개발되었으므로, Golang을 설치해야 합니다. 아래 명령어를 통해 Golang을 설치하세요.

 

소스 코드 다운로드

wget <https://go.dev/dl/go1.24.1.linux-amd64.tar.gz>
tar -C /usr/local -xvzf go1.24.1.linux-amd64.tar.gz

 

환경 변수 설정

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

 

 

버전 확인

go version

 


6. Vitess 설치

Vitess 사용자 생성 및 디렉토리 설정

sudo useradd -r -m vitess
sudo mkdir -p /var/lib/vitess
sudo chown -R vitess:vitess /var/lib/vitess

Vitess 소스 코드 다운로드

Vitess 소스 코드를 다운로드하고 빌드 합니다.

sudo su vitess
git clone <https://github.com/vitessio/vitess.git>
cd vitess
export VTDATAROOT=/var/lib/vitess/vtdataroot
export PATH=~/vitess/bin:${PATH}
make build

 

 

NVM 오류 해결 (필요한 경우)

# vim ~/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \\. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \\. "$NVM_DIR/bash_completion"
source ~/.bashrc

 

 

vitess 사용자 최종 환경 변수 설정

Vitess 환경 변수를 설정합니다. 아래 명령어를 실행하세요:

# vim ~/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \\. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \\. "$NVM_DIR/bash_completion"

export PATH=/usr/local/bin:$PATH
export PATH=$HOME/vitess/bin:$PATH
export PATH=$PATH:/usr/local/go/bin
export VTDATAROOT=/var/lib/vitess/vtdataroot

source ~/.bashrc

7. 설치 완료 및 동작 테스트

초기 클러스터 생성

cd ./vitess/examples/local/
vim ../common/env.sh

# 호스트네임 설정
hostname="192.168.33.10" # 개발 서버이니 IP 정보 사용

./vitess/examples/local/101_initial_cluster.sh

어드민 접속

http://192.168.33.10:14201/에 접속하여 Vitess 어드민 인터페이스를 확인할 수 있습니다.


7. 트러블슈팅

101_initial_cluster.sh 실행 시, vtgate가 동작하지 않는 문제

  • 원인: /tmp/mysql.sock 파일이 이미 존재하여 vitess 사용자로 실행 시 오류가 발생.
  • 해결법: /tmp/mysql.sock 파일을 삭제 후 실행합니다.
sudo rm /tmp/mysql.sock

8. 참고

  • MySQL 중지: Vitess 설치 전, MySQL이 실행 중인 경우 중지하고 비활성화해야 합니다.
  • sudo systemctl stop mysql sudo systemctl disable mysql

이제 Vitess 설치가 완료되었습니다. 추가적인 설정이나 구체적인 사용 방법은 공식 문서를 참고하세요.

반응형

'기술, 개발 > Vitess' 카테고리의 다른 글

Vitess 수평샤딩 2 (리샤딩)  (2) 2025.08.28
Vitess 수평 샤딩 1 (시퀀스)  (0) 2025.08.28
Vitess MoveTables (수직샤딩)  (1) 2025.08.28
vtctld, vtgate, vttablet, vtorc  (0) 2025.08.28
Vitess 기본 개념  (0) 2025.08.28