NewSQL ---- Docker部署 cockroachdb数据库

        CockroachDB是一款开源的分布式数据库,具有NoSQL对海量数据的存储管理能力,又保持了传统数据库支持的ACID和SQL等,还支持跨地域、去中心、高并发、多副本强一致和高可用等特性。支持OLTP场景,同时支持轻量级OLAP场景。

       官方有定制好的Docker镜像可以直接使用。这里提供两种部署方式 分布是 手动docker部署和 docker-compose一键部署。

1 手动部署

详细参考:用户手册

1.1 脚本

这里整理一份直接copy 使用的脚本,并添加了性能优化参数:--max-sql-memory=.25 --cache=.25。

性能优化的问题可以参考:SQL性能, 部署常用优化参数

需要注意的一个地方就是:docker 启动参数不要使用  --background

#创建桥接网络
docker network create -d bridge roachnet
#启动节点1
docker run -d --name=roach1 --hostname=roach1 --net=roachnet -p 26257:26257 -p 8080:8080 -v "//D/home/docker/cockroach-data/roach1:/cockroach/cockroach-data" cockroachdb/cockroach:latest start --insecure --max-sql-memory=.25 --cache=.25
#启动节点2
docker run -d --name=roach2 --hostname=roach2 --net=roachnet -v "//D/home/docker/cockroach-data/roach2:/cockroach/cockroach-data" cockroachdb/cockroach:latest start --insecure --join=roach1 --max-sql-memory=.25 --cache=.25
#启动节点3
docker run -d --name=roach3 --hostname=roach3 --net=roachnet -v "//D/home/docker/cockroach-data/roach3:/cockroach/cockroach-data" cockroachdb/cockroach:latest start --insecure --join=roach1 --max-sql-memory=.25 --cache=.25

1.2 节点1 创建数据

#节点一创建库并录入数据
docker exec -it roach1 ./cockroach sql --insecure 
CREATE DATABASE bank; 
CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL); 
INSERT INTO bank.accounts VALUES (1, 1000.50);

#节点二查询数据验证
docker exec -it roach2 ./cockroach sql --insecure SELECT * FROM bank.accounts;

1.3停止集群

docker stop roach1 roach2 roach3 
docker rm roach1 roach2 roach3

2、docker-compose 部署

下面完整脚本,但是光有这个脚本是不够的,可以下载完整的工程包:cockroach-docker-compose.jar

version: "3"
services: 
   grafana:
    image: grafana/grafana
    ports:
    - "3000:3000"
   alert:
    image: prom/alertmanager
    ports:
    - "9093:9093"
   prometheus:
    image: prom/prometheus
    volumes:
    - ./rules:/rules
    - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
    - "9090:9090" 
   roach1:
    image: cockroachdb/cockroach:v20.1.3
    hostname: roach1
    command:  start --insecure --max-sql-memory=.25 --cache=.25 --background
    volumes: 
    - ./roach1:/cockroach/cockroach-data
    ports:
    - "26257:26257"
    - "8081:8080"
   roach2:
    image: cockroachdb/cockroach:v20.1.3
    hostname: roach2
    command: start --insecure --join=roach1 --max-sql-memory=.25 --cache=.25 --background
    volumes: 
    - ./roach2:/cockroach/cockroach-data
    ports:
    - "26258:26257"
    - "8082:8080"
   roach3:
    image: cockroachdb/cockroach:v20.1.3
    hostname: roach3
    command: start --insecure --join=roach1 --max-sql-memory=.25 --cache=.25 --background
    volumes: 
    - ./roach3:/cockroach/cockroach-data
    ports:
    - "26259:26257"
    - "8083:8080"  

3 、管理工具

cockroachdb的管理,目前比较好用的应该就是DBeaverEE(企业版本可以破解)。

 

(1)新建连接并选择cockroachdb

(3)填写自己的数据库和端口号(默认2657)就可以了

4、从MYSQL迁移数据

参考:MYSQL迁移

也可以使用 上面提到的管理工具。

Tableplus  也是一款不错的管理工具。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

October-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值