CockroachDB快速上手

本地伪集群安装

1 下载二进制文件

wget https://binaries.cockroachdb.com/cockroach-v20.2.5.linux-amd64.tgz
tar xf cockroach-v20.2.5.linux-amd64.tgz
cp cockroach-v20.2.5.linux-amd64/cockroach  /usr/local/bin

2.1 在一台机器上启动三个实例,构成伪集群

mkdir -p /data/cockroach-data-26257 /data/cockroach-data-26258 /data/cockroach-data-26259

cockroach start \
--insecure \
--store=/data/cockroach-data-26257 \
--listen-addr=localhost:26257 \
--http-addr=0.0.0.0:8080 \
--join=localhost:26257,localhost:26258,localhost:26259 \
--background


cockroach start \
--insecure \
--store=/data/cockroach-data-26258 \
--listen-addr=localhost:26258 \
--http-addr=0.0.0.0:8081 \
--join=localhost:26257,localhost:26258,localhost:26259 \
--background


cockroach start \
--insecure \
--store=/data/cockroach-data-26259 \
--listen-addr=localhost:26259 \
--http-addr=0.0.0.0:8082 \
--join=localhost:26257,localhost:26258,localhost:26259 \
--background

2.2 实例停止(可选)

cockroach quit --insecure --host=localhost:26257
cockroach quit --insecure --host=localhost:26258
cockroach quit --insecure --host=localhost:26259
#停止最后一个实例时会非常慢,但最终会停掉,测试环境可以强制 kill -9 ${pid}

3 初始化数据

cockroach init --insecure --host=localhost:26257
#指定26257、26258、26259任何一个端口均可

简单测试

连接数据库,进入SQL终端
===================
cockroach sql --insecure --host=localhost:26257


更新查看数据
===================
CREATE DATABASE bank;
CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL);
INSERT INTO bank.accounts VALUES (1, 1000.50);
SELECT * FROM bank.accounts;


退出SQL终端
===================
exit OR
\q


连接到其它实例测试
===================
三个实例是一个集群,因此看到的数据一致
cockroach sql --insecure --host=localhost:26258

内置的压测工具

1. Load the initial dataset
====================================
cockroach workload init movr 'postgresql://root@localhost:26257?sslmode=disable'
#执行该命令会自动往数据库里导入数据


2. Run the workload for 5 minutes:
====================================
cockroach workload run movr --duration=5m 'postgresql://root@localhost:26257?sslmode=disable'

访问内置的图形界面

在这里插入图片描述

模拟某个节点DOWN机

cockroach quit --insecure --host=localhost:26259
https://www.cockroachlabs.com/docs/v20.2/demo-fault-tolerance-and-recovery

水平扩容现有集群

cockroach start \
--insecure \
--store=/data/cockroach-data-26260 \
--listen-addr=localhost:26260 \
--http-addr=0.0.0.0:8083 \
--join=localhost:26257,localhost:26258,localhost:26259 \
--background

参考资料

https://www.cockroachlabs.com/docs/v20.2/secure-a-cluster
https://www.cockroachlabs.com/docs/v20.2/install-cockroachdb-linux

https://blog.csdn.net/xys2015/article/details/114675977