yoongrammer

CockroachDB 사용방법 본문

Infra/CockroachDB

CockroachDB 사용방법

yoongrammer 2020. 11. 2. 18:28
728x90

관련 글

2020/10/25 - [DB] - CockroachDB 란

2020/11/01 - [DB] - CockroachDB 설치

 

목차

    CockroachDB 사용방법


    노드 3개를 가지고 있는 클러스터를 만들어 보겠습니다.

    1. 클러스터 시작

    1. cockroach start 명령을 사용하여 첫 번째 노드를 생성합니다.

    $ cockroach start \
    --insecure \
    --store=node1 \
    --listen-addr=localhost:26257 \
    --http-addr=localhost:8080 \
    --join=localhost:26257,localhost:26258,localhost:26259 \
    --background

    다음과 같은 메시지가 표시됩니다.

    *
    * WARNING: RUNNING IN INSECURE MODE!
    *
    * - Your cluster is open for any client that can access localhost.
    * - Any user, even root, can log in without providing a password.
    * - Any user, connecting as root, can read or write any data in your cluster.
    * - There is no network encryption nor authentication, and thus no confidentiality.
    *
    * Check out how to secure your cluster: https://www.cockroachlabs.com/docs/v20.1/secure-a-cluster.html
    *
    *
    * INFO: initial startup completed.
    * Node will now attempt to join a running cluster, or wait for `cockroach init`.
    * Client connections will be accepted after this completes successfully.
    * Check the log file(s) for progress.
    *​

     

    각 플래그 설명

    • insecure : 비 보안 모드로 실행.
    • store : 저장 장치에 대한 파일 경로 설정.
    • listen-addr : 다른 노드 및 클라이언트의 연결을 수신하기 위한 IP/PORT. 여기에 설정된 주소로 해당 노드에 접근할 수 있습니다.
    • http-addr : Admin UI에 접근하기 위한 IP/PORT.
    • join : 클러스터에 추가할 노드 설정.
    • background : 백그라운드에서 실행.

    2. 2개 노드를 추가로 생성합니다.

    $ cockroach start \
    --insecure \
    --store=node2 \
    --listen-addr=localhost:26258 \
    --http-addr=localhost:8081 \
    --join=localhost:26257,localhost:26258,localhost:26259 \
    --background
    $ cockroach start \
    --insecure \
    --store=node3 \
    --listen-addr=localhost:26259 \
    --http-addr=localhost:8082 \
    --join=localhost:26257,localhost:26258,localhost:26259 \
    --background

     

    3.cockroach init 명령을 사용하여 클러스터를 초기화합니다.

    $ cockroach init --insecure --host=localhost:26257

    2. SQL Client 사용하기

    1. cockroach sql 명령을 사용하여 노드 1에 접속합니다.

    $ cockroach sql --insecure --host=localhost:26257

     

    2. SQL 문을 실행합니다.

    > CREATE DATABASE test;
    > CREATE TABLE test.test (a int ,b varchar);
    > INSERT INTO test.test (1, 'hello');
    > SELECT * FROM test.test;​
      a |   b
    ----+--------
      1 | hello
    (1 row)
    
    Time: 2.046ms​

     

    3. 노드 1에서 SQL shell을 종료하고 노드 2에서 새로운 shell을 열어봅니다.

    > \q​
    $ cockroach sql --insecure --host=localhost:26258

     

    4. SELECT를 실행합니다.

    > SELECT * FROM test.test;​
      a |   b
    ----+--------
      1 | hello
    (1 row)
    
    Time: 2.046ms​

    노드 1과 노드 2에서 동일한 결과를 얻는 것을 확인할 수 있습니다.

     

    5. 노드 2에서 SQL shell을 종료합니다.

    > \q​

    3. Admin UI에 접근

    Admin UI에 접근하여 클러스터 전반적인 상태를 확인할 수 있습니다.

     

    1. 웹브라우저에서  http://localhost:8080으로 접근할 수 있습니다.

    4. 클러스터 중지

    1. cockroach quit 명령을 사용하여 노드를 정상적으로 종료합니다.

    $ cockroach quit --inseucre --host=localhost:26257​
    $ cockroach quit --inseucre --host=localhost:26258
    $ cockroach quit --inseucre --host=localhost:26259

    마지막 노드를 종료할 때 몇 분의 시간이 소요될 수 있습니다. 너무 오래 걸린다면 강제로 종료하시기 바랍니다.

     

    2. 클러스터를 다시 시작할 계획이 없는 경우 노드의 데이터 저장소를 제거하면 됩니다.

    $ rm -rf node1 node2 node3

     

    cockroachDB는 Docker 및 Kubernetes에서도 실행이 가능합니다. 궁금하시다면 아래 링크를 참조하시기 바랍니다.

    www.cockroachlabs.com/docs/v20.1/orchestrate-a-local-cluster-with-kubernetes.html

     

    Orchestrate a Local Cluster with Kubernetes | CockroachDB Docs

     

    www.cockroachlabs.com

     

    728x90

    'Infra > CockroachDB' 카테고리의 다른 글

    CockroachDB 설치  (0) 2020.11.01
    CockroachDB 란  (0) 2020.10.25
    Comments