웹사이트 검색

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


이 페이지에서

  1. 전제 조건
  2. 3대의 모든 서버에 CockroachDB 설치
  3. 방화벽 설정\n
  4. CockroachDB 클러스터 초기화\n
  5. CockroachDB에서 새 데이터베이스 만들기 테스트
  6. 결론

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

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

전제 조건

  • 두 개 이상의 Debian 11 서버.
  • 루트 암호는 서버에서 구성됩니다.\n

3개 서버 모두에 CockroachDB 설치

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

다음 명령을 사용하여 Linux용 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의 기본 설치는 데비안 서버에 설치됩니다.

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

which cockroach
cockroach version

다음과 같은 결과가 표시됩니다.

방화벽 설정

Debian 서버에서 방화벽을 실행하는 경우 방화벽 구성에 cockroachdb 포트를 추가해야 합니다.

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

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

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

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

sudo ufw reload
sudo ufw status

아래에서 포트 8080 및 25267이 UFW 방화벽에 추가된 것을 볼 수 있습니다.

CockroachDB 클러스터 초기화

cockroachdb 클러스터를 초기화하려면 server11에서 아래 명령을 실행하십시오.

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

  • --store: CockroachDB 클러스터의 데이터를 저장합니다.\n
  • --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

다음과 같은 결과가 표시됩니다.

이제 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에서 다음 출력을 얻을 수 있습니다.

다음으로 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에서 다음 출력을 얻을 수 있습니다.

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

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

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

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

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

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

마지막으로 웹 브라우저를 열고 서버 IP 주소와 포트 8080을 차례로 방문합니다.

아래에서 cockroachdb 클러스터에 세 개의 노드가 있음을 볼 수 있습니다.

CockroachDB에서 새 데이터베이스 만들기 테스트

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

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

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

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;

다음과 같은 결과가 표시됩니다.

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

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

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

SELECT * FROM bank.accounts;

server11의 데이터베이스와 데이터가 자동으로 server2 및 server3에 복제되는 것을 볼 수 있습니다.

결론

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