网站打开很慢怎么回事啊,免费拥有自己的网站,网站设计 版权,网站美工建设意见#x1f4e2;#x1f4e2;#x1f4e2;#x1f4e3;#x1f4e3;#x1f4e3; 哈喽#xff01;大家好#xff0c;我是【IT邦德】#xff0c;江湖人称jeames007#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】#xff01;#x1f61c; 哈喽大家好我是【IT邦德】江湖人称jeames00710余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】 中国DBA联盟(ACDU)成员目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发备份恢复安装迁移性能优化、故障应急处理等。 ✨ 如果有对【数据库】感兴趣的【小可爱】欢迎关注【IT邦德】 ❤️❤️❤️感谢各位大可爱小可爱❤️❤️❤️ 文章目录 前言 1.Citus介绍 2.架构设计 3.安装citus✨ 3.1 yum安装✨ 3.2 创建拓展 4.集群配置✨ 4.1修改配置文件✨ 4.2 新增节点✨ 4.3 集群信息 前言 因客户的需求本文详细阐述了PostgreSQL基于Citus实现的分布式集群的全过程。 1.Citus介绍 Citus是一个PostgreSQL扩展它将Postgres转换为分布式数据库因此您可以在任何规模上实现高性能。 可以使用这些Citus超能力使您的Postgres数据库在单个Citus节点上扩展。或者您可以构建一个能够处理高交易吞吐量的大型集群尤其是在多租户应用程序中运行快速分析查询并处理大量时间序列或物联网数据进行实时分析。当数据大小和数量增长时可以轻松地向集群中添加更多的工作节点并重新平衡碎片。 使用Citus您可以用新的超能力扩展PostgreSQL数据库 1.分布式表在PostgreSQL节点集群中进行分片以组合它们的CPU、内存、存储和I/O容量。 2.引用表被复制到所有节点以便从分布式表中进行联接和外键从而获得最大的读取性能。 3.分布式查询引擎路由并并行化集群中分布式表上的SELECT、DML和其他操作。 4.列存储压缩数据加快扫描速度并支持在常规表和分布式表上进行快速投影。 5.通过从任何节点进行查询您都可以利用集群的全部容量进行分布式查询 Citus集群由一个中心的协调节点(CN)和若干个工作节点(Worker)构成。 coordinate协调节点一般称为cn存储所有元数据不存实际数据该节点直接对用户开放等于一个客户端。 worker工作节点不存储元数据存储实际数据。执行协调节点发来的查询请求。一般不直接对用户开放。 2.架构设计
主机名IP操作系统内存/空间角色说明pgcn172.18.12.80centos7.82c/18G 400Gcoordinate安装PG 14 Citus 14.1.0pgwk01172.18.12.81centos7.82c/18G 400Gworker安装PG 14 Citus 14.1.0pgwk02172.18.12.82centos7.82c/18G 400Gworker安装PG 14 Citus 14.1.0pgwk03172.18.12.83centos7.82c/18G 400Gworker安装PG 14 Citus 14.1.0pgwk04172.18.12.84centos7.82c/18G 400Gworker安装PG 14 Citus 14.1.0 3.安装citus
✨ 3.1 yum安装 1.安装依赖 yum install -y libcurl-devel lz4 zstd epel-release libzstd-devel unzip libcurl make 2.yum 安装,所有节点均安装 curl https://install.citusdata.com/community/rpm.sh yum install -y citus_14 ✨ 3.2 创建拓展
##以下操作所有节点均操作su - postgres
psql
create database clusterdb;
\c clusterdb
alter system set shared_preload_librariescitus;
clusterdb# select pg_reload_conf();
clusterdb# select * from pg_available_extensions where namecitus;name | default_version | installed_version | comment
-----------------------------------------------------------------------citus | 12.1-1 | | Citus distributed database
(1 row)
clusterdb# \qsystemctl status postgresql-14
systemctl restart postgresql-14rootpgcn:~$ su - postgres
rootpgcn:~$ psqlpostgres# \c clusterdb
You are now connected to database clusterdb as user postgres.clusterdb# show shared_preload_libraries;shared_preload_libraries
--------------------------citus
(1 row)clusterdb# create extension citus;
CREATE EXTENSIONclusterdb# \dxList of installed extensionsName | Version | Schema | Description
-------------------------------------------------------------------citus | 12.1-1 | pg_catalog | Citus distributed databasecitus_columnar | 11.3-1 | pg_catalog | Citus Columnar extensionplpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(3 rows)clusterdb# \dx citus4.集群配置
✨ 4.1修改配置文件 1.coordinate节点的pg_hba.conf配置 cat /var/lib/pgsql/14/data/pg_hba.conf “EOF” host all all 0.0.0.0/0 md5 EOF 2.worker节点的pg_hba.conf配置: cat /var/lib/pgsql/14/data/pg_hba.conf “EOF” host all all 172.18.12.0/24 trust EOF systemctl restart postgresql-14 ✨ 4.2 新增节点 psql -d clusterdb – 查看工作节点 SELECT * FROM master_get_active_worker_nodes(); select * from pg_dist_node; ##管理操作仅仅在协调节点cn上操作 – 节点可以是ip或者dns name SELECT * from master_add_node(‘172.18.12.81’, 5432); SELECT * from master_add_node(‘172.18.12.82’, 5432); SELECT * from master_add_node(‘172.18.12.83’, 5432); SELECT * from master_add_node(‘172.18.12.84’, 5432); ✨ 4.3 集群信息
-- 查看工作节点
clusterdb# SELECT * FROM master_get_active_worker_nodes();node_name | node_port
-------------------------172.18.12.83 | 5432172.18.12.81 | 5432172.18.12.84 | 5432172.18.12.82 | 5432
(4 rows)clusterdb# select * from pg_dist_node;nodeid | groupid | nodename | nodeport | noderack | hasmetadata | isactive | noderole | nodecluster | metadatasynced | shouldhaveshards
-----------------------------------------------------------------------------------------------------------------------------------43 | 43 | 172.18.12.82 | 5432 | default | t | t | primary | default | t | t44 | 44 | 172.18.12.83 | 5432 | default | t | t | primary | default | t | t46 | 46 | 172.18.12.84 | 5432 | default | t | t | primary | default | t | t42 | 42 | 172.18.12.81 | 5432 | default | t | t | primary | default | t | t