Z.S.K.'s Records

CockRoachDB学习(无证书集群搭建)

3节点的无证书CockroachDB 集群搭建, 由于CRDB只有一个单二进制文件, 所以部署也非常简单.

物理机部署

将cockroach二进制包上传至服务器的目录/opt, 解压

tar zxf cockroach-v19.1.1.linux-amd64.tar.gz -C /opt

cd /opt

mv cockroach-v19.1.1.linux-amd64 cockroach

cd cockroach

启动cockroach第一个节点

nohup /opt/cockroach/cockroach start --insecure --store=node --host=172.16.104.19 --port=26257 --http-port=18080 &

查看状态

./cockroach node status --insecure --host=172.16.104.19

重复以上命令依次重启第二个,第三个节点,启动时使用–join加入第一个节点

nohup /opt/cockroach/cockroach start --insecure --store=node --host=172.16.104.20 --port=26257 --http-port=18080 --join 172.16.104.19 &

nohup /opt/cockroach/cockroach start --insecure --store=node --host=172.16.104.21 --port=26257 --http-port=18080 --join 172.16.104.19 &

查看集群信息, 3个节点已经组成了一个集群

测试集群

./cockroach node status --insecure --host=172.16.104.19

Docker部署

第一个节点

docker run -d --name=roach1 --hostname=roach1 -p 26257:26257 -p 8080:8080 -v "${PWD}/cockroach-data/roach1:/cockroach/cockroach-data" cockroachdb/cockroach:v2.0.5 start --insecure

上述命令创建了一个容器,并在其中启动了第一个CockroachDB集群节点。 涉及指令和参数的介绍:

  • docker run:用Docker命令启动一个容器
  • -d: 指定容器运行在后台
  • --name:指定容器的名字
  • --hostname:指定容器的主机名,和name不同,这个是其他容器加入其所在集群的标签。
  • -p 26257:26257 -p 8080:8080:指定内部节点和客户端节点的通信端口(26257)映射以及Admin界面从容器到主机的HTTP访问端口映射。
  • -v "${PWD}/cockroach-data/roach1:/cockroach/cockroach-data": 挂载一个主机目录作为容器的磁盘,意味着数据和日志将会存在${PWD}/cockroach-data/roach1
  • cockroachdb/cockroach:v2.0.5 start --insecure :启动CockroachDB节点命令

添加节点二

docker run -d --name=roach2 --hostname=roach2 -v "${PWD}/cockroach-data/roach2:/cockroach/cockroach-data" cockroachdb/cockroach:v2.0.5 start --insecure --join=roach1

添加节点三

docker run -d --name=roach3 --hostname=roach3 -v "${PWD}/cockroach-data/roach3:/cockroach/cockroach-data" cockroachdb/cockroach:v2.0.5 start --insecure --join=roach1

测试集群

docker exec -it roach1 ./cockroach sql --insecure

常用操作

登录cockroach, 查看当前存在的数据库

./cockroach sql --insecure --host=172.16.104.19 --port=26257

新建数据库

CREATE database unicorn;

导入数据库表结构

./cockroach sql --insecure --host=172.16.104.19 --port=26257 --database=unicron <unicron.sql

查看用户信息

./cockroach --insecure --host=172.16.104.19 --port=26257 user get root

停止一个节点

./cockroach quit --insecure --host=172.16.104.19

参考文章:

转载请注明原作者: 周淑科(https://izsk.me)

 wechat
Scan Me To Read on Phone
I know you won't do this,but what if you did?