citus的快速开始

本文详细介绍了如何使用Dockercitus的最新版本,创建网络、启动协调和工作节点,添加新节点,以及管理和调整分布式数据库的分片。包括创建表、插入数据、设置副本数和分片策略等步骤。
摘要由CSDN通过智能技术生成

准备

  • docker
  • citus最新版本(docker pull citusdata/citus)

docker网络

docker network create --subnet=172.72.9.0/24 citus-test
docker network ls

在这里插入图片描述

启动citus服务

  1. 启动协调节点
docker run -dit --name citus-cod -p 5433:5432 -e POSTGRES_PASSWORD=123456 \
    -v /Users/zjw/Documents/docker/citus-cod:/var/lib/postgresql/data \
    --net=citus-test \
    citusdata/citus -c listen_addresses='*' -c shared_preload_libraries='citus
  1. 启动两个工作节点
docker run -dit --name citus-work10 -e POSTGRES_PASSWORD=123456 \
    -v /Users/zjw/Documents/docker/citus-work10:/var/lib/postgresql/data \
    --net=citus-test \
    citusdata/citus -c listen_addresses='*' -c shared_preload_libraries='citus'
docker run -dit --name citus-work11 -e POSTGRES_PASSWORD=123456 \
    -v /Users/zjw/Documents/docker/citus-work11:/var/lib/postgresql/data \
    --net=citus-test \
    citusdata/citus -c listen_addresses='*' -c shared_preload_libraries='citus'

在这里插入图片描述

添加节点

进入psql,添加节点并查看节点个数

docker  exec -it citus-cod psql -U postgres
select * from master_add_node('citus-worker10', 5432);
select * from master_add_node('citus-work11', 5432);
select * from master_get_active_worker_nodes();

在这里插入图片描述

测试

  1. 创建表
create table student(
	id int PRIMARY KEY,
	name varchar(20)
);
  1. 插入数据
insert into student(id, name) values(1, 'zhangsan');
insert into student(id, name) values(2, 'lisi');
insert into student(id, name) values(3, 'wangwu');
insert into student(id, name) values(4, 'zhaoliu');
  1. 设置副本数为2
postgres=# set citus.shard_replication_factor=2;
  1. 设置student为分布表
postgres=# select create_distributed_table('student', 'id');

显示默认分片数

postgres=#  show citus.shard_count;

在这里插入图片描述

查看分片

postgres=# select * from pg_dist_shard;
postgres=# select * from pg_dist_shard_placement;

在这里插入图片描述

更改分片数

postgres=# select alter_distributed_table('student', shard_count:=2, cascade_to_colocated:=true);
NOTICE:  creating a new table for public.student
NOTICE:  moving the data of public.student
NOTICE:  dropping the old public.student
NOTICE:  renaming the new table to public.student
 alter_distributed_table
-------------------------

(1 row)

在这里插入图片描述

查看分片位置

postgres=# select get_shard_id_for_distribution_column('student', 1);
 get_shard_id_for_distribution_column
--------------------------------------
                               102040
(1 row)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值