Pgpool-II实现高可用+读写分离+负载均衡(八)---- 维护工具

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: Pgpool提供了一些维护工具,用于日常观察Pgpool运行状态、上线、下线节点等操作。主要有:pcp_stop_pgpool,pcp_node_count,pcp_node_info,pcp_health_check_stats,pcp_proc_count,pcp_proc_info,pcp_detach_node,pcp_attach_node,pcp_recovery_node,pcp_promote_node,pcp_pool_status,pcp_watchdog_info,pcp_reload_config

Pgpool提供了一些维护工具,用于日常观察Pgpool运行状态、上线、下线节点等操作。主要有:pcp_stop_pgpool,pcp_node_count,pcp_node_info,pcp_health_check_stats,pcp_proc_count,pcp_proc_info,pcp_detach_node,pcp_attach_node,pcp_recovery_node,pcp_promote_node,pcp_pool_status,pcp_watchdog_info,pcp_reload_config,本篇介绍它们的使用方法。

pcp_recovery_node

用于恢复从节点,主要用于集群新建时创建新的从节点或者恢复失效节点。

[postgres@db01 bin]$ pcp_recovery_node--helppcp_recovery_node - recover a nodeUsage:
pcp_recovery_node [OPTION...] [node-id]
Options:
-U, --username=NAME    username for PCP authentication
-h, --host=HOSTNAME    pgpool-II host
-p, --port=PORT        PCP port number
-w, --no-password      never prompt for password
-W, --password         force password prompt (should happen automatically)
-n, --node-id=NODEID   ID of a backend node-d, --debug            enable debug message (optional)
-v, --verbose          output verbose messages
-?, --help             print this help
  比如要恢复1号节点:
  pcp_recovery_node -U pgpool -n1

pcp_attach_node

用于将一个Pgpool节点添加到集群中,比如由于种种原因(Pgpool非正常退出、本节点PostgreSQL服务终止)导致用show pool_nodes发现某个从节点未加入集群,可以使用此命令将该从节点重新加入到集群中。

[postgres@db01 bin]$ pcp_attach_node--helppcp_attach_node - attach a node from pgpool-II
Usage:
pcp_attach_node [OPTION...] [node-id]
Options:
-U, --username=NAME    username for PCP authentication
-h, --host=HOSTNAME    pgpool-II host
-p, --port=PORT        PCP port number
-w, --no-password      never prompt for password
-W, --password         force password prompt (should happen automatically)
-n, --node-id=NODEID   ID of a backend node-d, --debug            enable debug message (optional)
-v, --verbose          output verbose messages
-?, --help             print this help

pcp_detach_node

从Pgpool集群中移除指定节点

[postgres@db01 bin]$ pcp_detach_node--helppcp_detach_node - detach a node from pgpool-II
Usage:
pcp_detach_node [OPTION...] [node-id]
Options:
-U, --username=NAME    username for PCP authentication
-h, --host=HOSTNAME    pgpool-II host
-p, --port=PORT        PCP port number
-w, --no-password      never prompt for password
-W, --password         force password prompt (should happen automatically)
-n, --node-id=NODEID   ID of a backend node-g, --gracefully       promote gracefully (optional)
-d, --debug            enable debug message (optional)
-v, --verbose          output verbose messages
-?, --help             print this help

pcp_stop_pgpool

停止Pgpool,可停止某一个节点或者整个集群

[postgres@db01 bin]$ pcp_stop_pgpool--helppcp_stop_pgpool - terminate pgpool-II
Usage:
pcp_stop_pgpool [OPTION...]
Options:
-U, --username=NAME    username for PCP authentication
-h, --host=HOSTNAME    pgpool-II host
-p, --port=PORT        PCP port number
-w, --no-password      never prompt for password
-W, --password         force password prompt (should happen automatically)
-m, --mode=MODE        MODE can be "smart", "fast", or "immediate"-s, --scope=SCOPE      SCOPE can be "cluster", or "local"                         cluster scope do operations on all Pgpool-II nodes
                         part of the watchdog cluster
-d, --debug            enable debug message (optional)
-v, --verbose          output verbose messages
-?, --help             print this help

pcp_promote_node

提升指定节点为新的主节点或者将指定节点切换成主节点

[postgres@db01 bin]$ pcp_promote_node--helppcp_promote_node - promote a node as new main from pgpool-II
Usage:
pcp_promote_node [OPTION...] [node-id]
Options:
-U, --username=NAME    username for PCP authentication
-h, --host=HOSTNAME    pgpool-II host
-p, --port=PORT        PCP port number
-w, --no-password      never prompt for password
-W, --password         force password prompt (should happen automatically)
-n, --node-id=NODEID   ID of a backend node-g, --gracefully       promote gracefully (optional)
-s, --switchover       switchover primary to specified node (optional)
-d, --debug            enable debug message (optional)
-v, --verbose          output verbose messages
-?, --help             print this help

pcp_reload_config

不重启重新加载Pgpool配置,对于一些需要重启的配置无效

[postgres@db01 bin]$ pcp_reload_config--helppcp_reload_config - reload a pgpool-II config file
Usage:
pcp_reload_config [OPTION...]
Options:
-U, --username=NAME    username for PCP authentication
-h, --host=HOSTNAME    pgpool-II host
-p, --port=PORT        PCP port number
-w, --no-password      never prompt for password
-W, --password         force password prompt (should happen automatically)
-s, --scope=SCOPE      SCOPE can be "cluster", or "local"                         cluster scope do operations on all Pgpool-II nodes
                         part of the watchdog cluster
-d, --debug            enable debug message (optional)
-v, --verbose          output verbose messages
-?, --help             print this help

pcp_node_count

显示当前Pgpool集群节点数

[postgres@db01 bin]$ pcp_node_count--helppcp_node_count - display the total number of nodes under pgpool-II's controlUsage:pcp_node_count [OPTION...]Options:  -U, --username=NAME    username for PCP authentication  -h, --host=HOSTNAME    pgpool-II host  -p, --port=PORT        PCP port number  -w, --no-password      never prompt for password  -W, --password         force password prompt (should happen automatically)  -d, --debug            enable debug message (optional)  -v, --verbose          output verbose messages  -?, --help             print this help[postgres@db01 bin]$ pcp_node_count -U pgpoolPassword:3

pcp_node_info

显示Pgpool集群节点信息

[postgres@db01 bin]$ pcp_node_info-U pgpool
Password:
db01 543220.333333 up up standby standby 0 none none 2023-10-2911:49:50
db02 543220.333333 up up primary primary 0 none none 2023-11-0412:10:47
db03 543220.333333 up up standby standby 0 none none 2023-10-2911:49:50

pcp_health_check_stats

检查集群指定节点的健康状况

[postgres@db01 bin]$ pcp_health_check_stats-U pgpool -n1Password:
1 db02 5432 up primary 2023-11-0412:10:47 1917301917300000.000000 02188.978762 2023-11-0914:35:32 2023-11-0914:35:32

pcp_proc_count

列出当前节点Pgpool进程

[postgres@db01 bin]$ pcp_proc_count-U pgpool
Password:
179878518418111858699188351918746061876627189506618601021874790186612618659671865968187510918252851890730188195218251241833024185823618766301832026184181218241491875313189272818659641874477184183818503591879288187531018255661892244187544318335271875106186612818941131875440189272918650801885068185900618587051865965187828418418201893414189411018828361833525186589818850691892060184565618418051833551185826218589521846022189188018753161891881188234118666471892245180751018753141875928189224618746071891883180820918948551875925185870218492411891070187908018605901810460185900018927221841821184183918583771883522188234218740611882418189095418835231875929189272518753111890727189349718582391860108188282118920631890637189206417989951825569187908118744781816679187510718413981894858182493318824361893417189206118941111874791189072818759261866147189188418581311849638185813218850711876624189272618920661891073187929118792891875452186589918620431882338187510318753151885070187929018918851883520187530718590041876625186010918754441892067188507218766281860591189273018456591866480184135118616691878285182572618766311890638187446218824371875317187545317921671882822189134318661291862044187593018740621892723186011018906391891071186010518605931891074181046118744791893498181596818835241890955186838918683961842410185900118770091848652184132818920651892260184246018747921859007188234318587061891886189134418582631874438189188818948591875454188301518744631865969189107218252171848653187511017668691858455187510418920681874608187510518770101894114188301618922611868390187663218496431882419188301718766261858608187908218823391866648187531218828231860595186013118754451875927184605118907291874459184579118490211858379181670018920621890731184436518252861891889188195318824201860106184902318753081824148187530918413291876629189272418835211894115187443918918821894860181548218751111862045189341818582411874464189226218590051860107189272718423851895067186590018601041858707184184318934151891345188283718948561881954189341618666491891890186013218650821858701188507318907321875108186614918605921893419186648118419611874460187406318251261879292189107518934991858082185900218460231868393188283818252631875446185870418423861848124187446118503611877011187531818782861875441184182218948571890956182526018754421882438184115418941121882340189506818582381825730186667518744401879293

pcp_proc_info

显示当前节点每个Pgpool进程状态

dbname username 2023-11-0911:46:26 (2:09 before process restarting) 4302023-11-0912:21:37 2023-11-0913:23:18 02023-11-0913:53:00 31818622017987850 Wait for connection
dbname username 2023-11-0911:46:26 (2:09 before process restarting) 4302023-11-0912:21:37 2023-11-0913:23:18 02023-11-0913:53:00 31125518017987851 Wait for connection
dbname username 2023-11-0911:46:26 (2:09 before process restarting) 4302023-11-0912:21:37 2023-11-0913:23:18 02023-11-0913:53:00 31468486017987852 Wait for connection

pcp_pool_status

显示Pgpool集群配置及状态

[postgres@db01 bin]$ pcp_pool_status-U pgpool
Password:
name : backend_clustering_mode
value: 1desc : clustering mode
name : listen_addresses
value: *
desc : host name(s) or IP address(es) to listen on
name : port
value: 9999desc : pgpool accepting port number
name : unix_socket_directories
value: /tmp
desc : pgpool socket directories

pcp_watchdog_info

显示Pgpool看门狗状态

[postgres@db01 bin]$ pcp_watchdog_info-U pgpool
Password:
33 YES db01:9999 Linux db01 db01
db01:9999 Linux db01 db01 999990004 LEADER 0 MEMBER
db02:9999 Linux db02 db02 999990007 STANDBY 0 MEMBER
db03:9999 Linux db03 db03 999990007 STANDBY 0 MEMBER





相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
26天前
|
负载均衡 监控 应用服务中间件
除了 Nginx,还有以下一些常见的负载均衡工具
【10月更文挑战第17天】这些负载均衡工具各有特点和优势,在不同的应用场景中发挥着重要作用。选择合适的负载均衡工具需要综合考虑性能、功能、稳定性、成本等因素。
|
4月前
|
负载均衡 NoSQL 应用服务中间件
搭建高可用及负载均衡的Redis
【7月更文挑战第10天】
137 1
|
4月前
|
负载均衡 安全 Cloud Native
云上负载均衡:构建高可用、高性能的网络应用架构
与云原生技术深度融合:随着云原生技术的普及和发展未来的云上负载均衡将更加紧密地与云原生技术相结合。例如与Kubernetes等容器编排平台集成实现自动化的服务发现和路由管理;与Serverless架构结合提供无缝的流量接入和请求处理能力。 安全性能提升:面对日益严峻的网络安全威胁云上负载均衡将更加注重安全性能的提升。通过引入加密传输、访问控制、DDoS防护等安全措施确保网络流量的安全性和隐私性;同时还将建立完善的安全监控和应急响应机制以应对各种安全事件和突发事件。 支持多协议和多场景:未来的云上负载均衡将支持更多种类的网络协议和应用场景以满足不同用户和业务的需求。例如支持HTTP/2、
240 0
|
4月前
|
负载均衡 算法 Java
实现高可用和可扩展的负载均衡系统的Java方法
实现高可用和可扩展的负载均衡系统的Java方法
|
5月前
|
负载均衡 应用服务中间件 开发工具
技术笔记:nginx和keeplive实现负载均衡高可用
技术笔记:nginx和keeplive实现负载均衡高可用
|
6月前
|
负载均衡 关系型数据库 分布式数据库
【PolarDB开源】PolarDB读写分离实践:优化读取性能与负载均衡策略
【5月更文挑战第26天】PolarDB是云原生关系型数据库,通过读写分离优化性能和扩展性。它设置主节点处理写操作,从节点处理读操作,异步复制保证数据一致性。优化读取性能的策略包括增加从节点数量、使用只读实例和智能分配读请求。负载均衡策略涉及基于权重、连接数和地理位置的分配。实践示例中,电商网站通过主从架构、只读实例和负载均衡策略提升商品查询效率。PolarDB的读写分离与负载均衡为企业应对大数据和高并发提供了有效解决方案。
236 0
|
6月前
|
负载均衡 网络协议 应用服务中间件
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
155 0
|
6月前
|
存储 缓存 运维
解密一致性哈希算法:实现高可用和负载均衡的秘诀
解密一致性哈希算法:实现高可用和负载均衡的秘诀
794 0
|
6月前
|
Kubernetes 负载均衡 监控
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装
|
5月前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
122 2