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