데이터베이스 · 3 min read · Nov 30, 2025

Debian 11에서 CockroachDB 클러스터 설치하는 방법

CockroachDB는 클라우드 애플리케이션을 위한 오픈 소스 분산 및 확장 가능한 SQL 데이터베이스입니다. CockroachDB는 차세대 일관성을 제공하며, 복제된 SQL 데이터베이스와 트랜잭션 데이터 저장소를 제공합니다. CockroachDB는 데이터를 여러 위치에 저장하여 데이터 전송 속도를 높입니다. 또한, 확장이 용이하고 애플리케이션에 대한 높은 가용성과 내결함성을 제공합니다.

이 튜토리얼에서는 Debian 11 서버에 CockroachDB 클러스터를 설치하는 방법을 보여드리겠습니다.

전제 조건

  • 두 개 이상의 Debian 11 서버.
  • 서버에 루트 비밀번호가 설정되어 있어야 합니다.

모든 3개 서버에 CockroachDB 설치하기

설치의 경우, cockroachdb는 설치가 쉽습니다. cockroachdb는 시스템에 다운로드할 수 있는 리눅스 시스템용 바이너리 파일을 제공하기 때문입니다.

다음 명령을 사용하여 리눅스용 cockroachdb 바이너리 파일을 다운로드합니다. 이 명령은 cockroachdb 바이너리 파일을 다운로드하고, 압축된 파일을 추출한 다음, cockroachdb의 바이너리 파일을 /usr/local/bin 디렉토리로 이동합니다.

curl https://binaries.cockroachdb.com/cockroach-v21.2.8.linux-amd64.tgz | tar -xz && sudo cp -i cockroach-v21.2.8.linux-amd64/cockroach /usr/local/bin/

cockroachdb는 사용자 정의 내장 GEOS 라이브러리를 사용합니다. GEOS 라이브러리는 cockroachdb의 압축 파일에 포함되어 있으며 lib 디렉토리에 설치해야 합니다.

다음 명령을 사용하여 새로운 디렉토리 /usr/local/lib/cockroach를 생성합니다.

mkdir -p /usr/local/lib/cockroach

이제 GEOS 라이브러리를 /usr/local/lib/cockroach 디렉토리로 복사합니다.

cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos.so /usr/local/lib/cockroach/  
cp -i cockroach-v21.2.8.linux-amd64/lib/libgeos_c.so /usr/local/lib/cockroach/

cockroachdb의 기본 설치가 Debian 서버에 완료되었습니다.

다음 명령을 실행하여 cockroachdb 바이너리 파일과 방금 설치한 cockroachdb의 현재 버전을 확인합니다.

which cockroach  
cockroach version

다음과 같은 출력이 표시됩니다.

checking cockroachdb

방화벽 설정하기

Debian 서버에서 방화벽을 실행 중이라면, 방화벽 구성에 cockroachdb 포트를 추가해야 합니다.

cockroachdb는 웹 기반 관리용으로 포트 8080을 사용하고, 사용자 연결 및 클러스터 구성용으로 포트 26257을 사용합니다.

다음 명령을 사용하여 UFW 방화벽에 포트 808025267을 추가합니다.

sudo ufw allow 8080/tcp  
sudo ufw allow 26257/tcp

이제 UFW 방화벽 규칙을 다시 로드하고 방화벽 규칙의 현재 상태를 확인합니다.

sudo ufw reload  
sudo ufw status

아래에서 포트 808025267이 UFW 방화벽에 추가된 것을 확인할 수 있습니다.

setup ufw firewall

CockroachDB 클러스터 초기화하기

cockroachdb 클러스터를 초기화하려면, server11에서 아래 명령을 실행합니다.

다음 옵션의 값을 변경해야 합니다:

  • –store: CockroachDB 클러스터의 데이터를 저장할 위치.
  • –listen-addr: cockroachdb가 서버에서 실행될 IP 주소. cockroachdb의 기본 포트는 25267입니다.
  • –http-addr: cockroachdb 웹 기반 관리가 실행될 IP 주소. cockroachdb의 기본 웹 기반 관리는 포트 8080입니다.
cockroach start \  
--insecure \  
--store=server11 \  
--listen-addr=192.168.10.11:26257 \  
--http-addr=192.168.10.11:8080 \  
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \  
--background

다음과 같은 출력이 표시됩니다.

start cluster on server11

이제 server2로 이동하여 다음 명령을 실행하여 cockroachdb를 시작하고 클러스터에 참여합니다. –listen-addr–http-addr의 IP 주소를 server2의 IP 주소로 변경합니다.

cockroach start \  
--insecure \  
--store=server2 \  
--listen-addr=192.168.10.13:26257 \  
--http-addr=192.168.10.13:8080 \  
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \  
--background

server2에서 다음과 같은 출력을 얻을 수 있습니다.

start cluster on server2

다음으로 server3로 이동하여 다음 명령을 실행하여 cockroachdb를 시작하고 cockroachdb 클러스터에 참여합니다. 또한, –listen-addr–http-addr의 IP 주소를 server3의 IP 주소로 변경합니다.

cockroach start \  
--insecure \  
--store=server3 \  
--listen-addr=192.168.10.14:26257 \  
--http-addr=192.168.10.14:8080 \  
--join=192.168.10.11:26257,192.168.10.13:26258,192.168.10.14:26259 \  
--background

server3에서 다음과 같은 출력을 얻을 수 있습니다.

start cluster server3

모든 작업이 완료되면 server11로 돌아가 아래 명령을 실행하여 cockroachdb 클러스터를 초기화합니다.

cockroach init --insecure --host=192.168.10.11:26257

출력 메시지 ‘클러스터가 성공적으로 초기화되었습니다‘가 표시되며, 이는 cockroachdb 클러스터가 성공적으로 초기화되었음을 의미합니다.

아래의 grep 명령을 실행하여 cockroachdb 초기화 로그를 확인할 수 있습니다. server11 디렉토리를 –store cockroachdb 디렉토리로 변경합니다.

grep 'node starting' server11/logs/cockroach.log -A 11

아래에서 server11 cockroachdb 클러스터 초기화 로그를 확인할 수 있습니다.

initialized cluster

마지막으로 웹 브라우저를 열고 서버 IP 주소 뒤에 포트 8080을 입력합니다.

http://192.168.10.11:8080/

아래에서 cockroachdb 클러스터에 세 개의 노드가 있는 것을 확인할 수 있습니다.

cockroachdb cluster

CockroachDB에서 새 데이터베이스 생성 테스트하기

이제 cockroachdb 클러스터가 실행 중이므로, 모든 서버를 SQL 게이트웨스로 사용하여 cockroachdb에 접근할 수 있습니다.

server11에서 cockroachdb 클러스터에 연결하기 위해 cockroach 명령을 실행합니다.

cockroach sql --insecure --host=192.168.10.11:26257

Login to SQL shell

SQL 셸에 연결된 후, 아래 쿼리를 실행하여 새 데이터베이스를 생성합니다.

CREATE DATABASE bank;

이제 다음 쿼리를 사용하여 데이터베이스에 새 테이블을 생성합니다.

CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL);

다음으로, 테이블에 샘플 데이터를 가져옵니다.

INSERT INTO bank.accounts (1, 1000.50);

다음 쿼리를 사용하여 데이터베이스의 데이터를 확인합니다.

SELECT * FROM bank.accounts;

다음과 같은 출력을 얻을 수 있습니다.

Create new database and insert data

다음으로 server2 또는 server3로 이동하여 다음 명령을 사용하여 cockroachdb SQL 셸에 로그인합니다.

cockroach sql --insecure --host=192.168.10.14:26257

server3의 SQL 셸에 연결된 후, 다음 쿼리를 실행하여 데이터베이스 복제를 확인합니다.

SELECT * FROM bank.accounts;

server11의 데이터베이스와 데이터가 자동으로 server2 및 server3에 복제된 것을 확인할 수 있습니다.

checking database and replication

결론

축하합니다! 이제 Debian 11 서버에 cockroachdb 클러스터를 설치하고 구성했습니다. 또한, cockroachdb 셸에 연결하는 방법과 데이터베이스를 생성하고 데이터를 삽입하기 위한 기본 SQL 명령을 배웠습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.