欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker中的CockroachDB集群

程序员文章站 2022-03-20 18:36:28
...

1、拉取镜像

 

docker pull cockroachdb/cockroach:v1.0.2
docker run --rm cockroachdb/cockroach:v1.0.2 version // 确认镜像正常使用

 2、新建网桥

  在单机环境运行多个容器,之间需要使用docker的网桥模式使得容器间能够进行互访,同时保证容器间在外网环境是互相隔离

 

docker network create -d bridge roachnet

 3、启动第一个节点

 

 

docker run -d \
--name=roach1 \
--hostname=roach1 \
--net=roachnet \
-p 26257:26257 -p 8080:8080  \
-v "${PWD}/cockroach-data/roach1:/cockroach/cockroach-data"  \
cockroachdb/cockroach:v1.0.2 start --insecure

    --hostname:容器间通过hostname加入集群

  26257:cockroach默认的端口

  8080:监控UI的端口

 

  -p:映射容器宿主机和容器的端口

  -v:挂载宿主机目录

  start --insecure 在容器内启动节点

4、加入另外节点到集群

 

docker run -d \
--name=roach2 \
--hostname=roach2 \
--net=roachnet \
-v "${PWD}/cockroach-data/roach2:/cockroach/cockroach-data" \
cockroachdb/cockroach:v1.0.2 start --insecure --join=roach1

docker run -d \
--name=roach3 \
--hostname=roach3 \
--net=roachnet \
-v "${PWD}/cockroach-data/roach3:/cockroach/cockroach-data" \
cockroachdb/cockroach:v1.0.2 start --insecure --join=roach1

  --join:容器节点加入集群,通过前面指定的hostname

 

5、集群测试

 

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

 输出:

 

# Welcome to the cockroach SQL interface.
# All statements must be terminated by a semicolon.
# To exit: CTRL + D.

 执行sql:

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;

 节点1的结果

  +----+---------+
| id | balance |
+----+---------+
|  1 | 1000.50 |
+----+---------+
(1 row)
\q 退出

节点2,节点3:

SELECT * FROM bank.accounts;

 查询结果:

+----+---------+
| id | balance |
+----+---------+
|  1 | 1000.50 |
+----+---------+
(1 row)
\q 退出节点

6、集群监控

启动集群时已管理宿主机的8080端口,可以查看容器

docker ps

 55e09b83cdba        cockroachdb/cockroach:v1.0.2               "/cockroach/cockroach"   40 minutes ago      Up 40 minutes       0.0.0.0:8080->8080/tcp, 0.0.0.0:26257->26257/tcp   roach1

在浏览器中打开地址,http://localhost:8080,本例是在云服务器中执行,所以通过外网查看


Docker中的CockroachDB集群
            
    
    博客分类: DockerDB dockercockroachdb集群 
 至此已成功docker中运行cockroach集群

  • Docker中的CockroachDB集群
            
    
    博客分类: DockerDB dockercockroachdb集群 
  • 描述: CockroachDB集群监控
  • 大小: 273.7 KB