Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Snova运维篇(二):GP集群配置和高可用特性

Snova运维篇(二):GP集群配置和高可用特性

原创
作者头像
snova-最佳实践
修改于 2019-12-25 08:58:53
修改于 2019-12-25 08:58:53
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

本节主要探讨greenplum集群配置和高可用特性。

目录:

  1. 配置greenplum数据库
  2. 启用高可用特性

基本概念:

raid

独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks)


1.配置greenplum

Greenplum数据的配置文件postgresql.conf位于数据库实例的数据目录之下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master etc]$ cd /data/master/gpseg-1/
[gpadmin@gp-master gpseg-1]$ ls
base     gpmetrics   pg_changetracking  pg_distributedxidmap  pg_log        pg_subtrans  pg_utilitymodedtmredo  postgresql.conf
global   gpperfmon   pg_clog            pg_hba.conf           pg_multixact  pg_tblspc    PG_VERSION             postmaster.opts
gp_dbid  gpssh.conf  pg_distributedlog  pg_ident.conf         pg_stat_tmp   pg_twophase  pg_xlog                postmaster.pid
  • 设置本地参数

gpconfig,通过主节点就可以对所有节点的参数文件进行批量修改

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ gpconfig -s max_connections
Values on all segments are consistent
GUC          : max_connections
Master  value: 250
Segment value: 750
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ gpconfig -c max_connections -v 750 -m 150
20191224:16:40:01:031503 gpconfig:gp-master:gpadmin-[INFO]:-completed successfully with parameters '-c max_connections -v 750 -m 150'
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ gpstop -r
20191224:16:43:33:032280 gpstop:gp-master:gpadmin-[INFO]:-Starting gpstop with args: -r
20191224:16:43:33:032280 gpstop:gp-master:gpadmin-[INFO]:-Gathering information and validating the environment...
20191224:16:43:33:032280 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20191224:16:43:33:032280 gpstop:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:16:43:33:032280 gpstop:gp-master:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ gpconfig -s max_connections
Values on all segments are consistent
GUC          : max_connections
Master  value: 150
Segment value: 750

案例:

gpconfig只能在系统启动的情况下调用,所以如果参数修改不合适,导致系统无法启动时,我们可以用下列方法处理:

1、先把master的参数修改成正常的值

2、gpstart -m 仅启动master进入管理模式

3、gpconfig -r  <参数>  -- 把参数重置成默认值

4、gpstop -a -r -M fast

  • 设置master参数

编辑$MASTER_DATA_DIRECTORY/postgresql.conf文件,找到要设置的参数,取消它的注释(移除前面的#字符),并且输入想要的值。保存并且关闭该文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ pwd
/data/master/gpseg-1
[gpadmin@gp-master gpseg-1]$ ls
base       gpperfmon          pg_distributedlog     pg_log        pg_tblspc              pg_xlog              postmaster.pid
global     gpssh.conf         pg_distributedxidmap  pg_multixact  pg_twophase            postgresql.conf
gp_dbid    pg_changetracking  pg_hba.conf           pg_stat_tmp   pg_utilitymodedtmredo  postgresql.conf.bak
gpmetrics  pg_clog            pg_ident.conf         pg_subtrans   PG_VERSION             postmaster.opts

需要重启生效的参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 gpstop -r

不需要重启的参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gpstop -u 
  • 在数据库级别设置参数

每一个连接到该数据库的会话都使用该参数设置。数据库级别的设置覆盖系统级别的设置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=# ALTER DATABASE mydatabase SET search_path TO myschema;
  • 在角色级别设置参数

每一个由该角色启动的会话都使用该参数设置。角色级别的设置覆盖数据库级别的设置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=# ALTER ROLE bob SET search_path TO bobschema;
  • 会话级别设置参数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=# SET statement_mem TO '200MB';
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=# RESET statement_mem;
  • 查看服务器配置参数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ psql -c 'show all' -d  postgres  //查看master实例参数
                         name                         |                                     setting
       |                                                                                   description

------------------------------------------------------+---------------------------------------------------------------------------
-------+--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------
 add_missing_from                                     | off
       | Automatically adds missing table references to FROM clauses.
 application_name                                     | psql
       | Sets the application name to be reported in statistics and logs.
 archive_mode                                         | off
       | Allows archiving of WAL files using archive_command.
 array_nulls                                          | on
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master gpseg-1]$ gpconfig --show max_connections  //查看全局参数
Values on all segments are consistent
GUC          : max_connections
Master  value: 150
Segment value: 750
  • 配置参数种类

连接和认证参数:

这些参数控制着客户端如何连接到Greenplum数据库以及如何被认证。

gp_connection_send_timeout

gp_vmem_idle_resource_timeout

listen_addresses

max_connections

max_prepared_transactions

superuser_reserved_connections

tcp_keepalives_count

tcp_keepalives_idle

tcp_keepalives_interval

unix_socket_directory

unix_socket_group

unix_socket_permissions

安全性和认证参数:

authentication_timeout

db_user_namespace

krb_caseins_users

krb_server_keyfile

krb_srvname

password_encryption

password_hash_algorithm

ssl

ssl_ciphers

2.启用高可用特性

  • 硬件raid

从硬件存储级别实现的数据冗余。常用raid:

RAID0,RAID1,RAID5,RAID10

常见raid比对
常见raid比对
  • segment镜像

Segment 分为主备,称为 Primary 和 Mirror,Mirror 是 Primary 的备。Primary与Mirror之间强同步保证数据一致性和可靠性,其间的监控与切换则由Master的FTS模块负责。当FTS发现Primary宕机、Mirror健康后会激活Mirror,并标记Primary为’d’,Mirror进入 ChangeTracking 状态。

  • master镜像概述

由于Master不保存用户数据,只有系统目录表被在主Master和后备Master之间同步。当这些表被更新时,更改会被自动地复制到后备Master来让它保持与主Master的同步。

  • 故障检测与修复概述

Greenplum数据库服务器名为ftsprobe的(postgres)子进程处理故障检测。ftsprobe会监控Greenplum数据库阵列,它连接并且扫描所有的Segment,并且数据库会按照配置的间隔进行这种处理。

gprecoverseg恢复工具。这个工具定位失效的Segment、验证它们是否有效并且与当前活动的Segment比较事务状态来确定该Segment离线期间所作的更改

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gprecoverseg --help
COMMAND NAME: gprecoverseg

Recovers a primary or mirror segment instance that has  //修复被标记为down的segment
been marked as down (if mirroring is enabled).

******************************************************

    -i

    主要参数,用于指定一个配置文件,该配置文件描述了需要修复的Segment和修复后的目的位置。

    -F

    可选项,指定后,gprecoverseg会将”-i”中指定的或标记”d”的实例删除,并从活着的Mirror复制一个完整一份到目标位置。

    -r

    当FTS发现有Primary宕机并进行主备切换,在gprecoverseg修复后,担当Primary的Mirror角色并不会立即切换回来,就会导致部分主机上活跃的Segment过多从而引起性能瓶颈。因此需要恢复Segment原先的角色,称为re-balance。
  • 启用segment镜像 (此工具内容较多后续补充)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpaddmirrors --help
COMMAND NAME: gpaddmirrors

Adds mirror segments to a Greenplum Database system that was
initially configured without mirroring.


*****************************************************
SYNOPSIS
*****************************************************


gpaddmirrors [-p <port_offset>] [-m <datadir_config_file> [-a]] [-s]
             [-d <master_data_directory>] [-B <parallel_processes>]
             [-l <logfile_directory>] [-v]

gpaddmirrors -i <mirror_config_file> [-s] [-a]
             [-d <master_data_directory>] [-B <parallel_processes>]
             [-l <logfile_directory>] [-v]

gpaddmirrors -o <output_sample_mirror_config> [-m <datadir_config_file>]

gpaddmirrors -?
  • 启用备节点master镜像
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ gpinitstandby -s smdw
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ psql komablog -c 'SELECT procpid, state FROM pg_stat_replication;'
 procpid |   state
---------+-----------
   32593 | streaming
(1 row)

列出有关walsender进程的信息,该进程被用于镜像Greenplum数据库的Master。

  • 检测失效的segment

在Greenplum数据库的Master主机上,Postgres的postmaster进程会派生一个故障探测进程ftsprobe。它有时也被称作FTS(容错服务器)进程。如果FTS失败,postmaster进程会重启它。

gpstate 工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstate -m   //显示镜像segment 实例信息
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[INFO]:-Starting gpstate with args: -m
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6) on x86_64-pc-linux-gnu, compiled by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jul 24 2019 22:51:37'
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[WARNING]:--------------------------------------------------------------
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[WARNING]:-physical mirroring not used
20191224:18:47:57:022244 gpstate:gp-master:gpadmin-[WARNING]:--------------------------------------------------------------
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gpadmin@gp-master ~]$ gpstate -e  //显示segment 镜像状态
20191224:18:48:25:022371 gpstate:gp-master:gpadmin-[INFO]:-Starting gpstate with args: -e
20191224:18:48:25:022371 gpstate:gp-master:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6'
20191224:18:48:25:022371 gpstate:gp-master:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.21.1 build commit:ca0b8106b893028d18f241dcb858d85f12af90b6) on x86_64-pc-linux-gnu, compiled by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jul 24 2019 22:51:37'
20191224:18:48:25:022371 gpstate:gp-master:gpadmin-[INFO]:-Obtaining Segment details from master...
20191224:18:48:25:022371 gpstate:gp-master:gpadmin-[INFO]:-Physical mirroring is not configured
  • 检查日志文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ gplogfilter -t
[gpadmin@gp-master ~]$ gplogfilter -t
requested timestamp range from beginning of data to end of data
----------  /data/master/gpseg-1/pg_log/gpdb-2019-12-24_153623.csv ----------
       in:      57 lines,      57 log entries; timestamps from 2019-12-24 15:36:23.027330 to 2019-12-24 15:36:24.464534
    match:       0 lines
      out:       0 lines,       0 log entries
----------  /data/master/gpseg-1/pg_log/gpdb-2019-12-23_000000.csv ----------
       in:       0 lines,       0 log entries; no timestamps found
    match:       0 lines
      out:       0 lines,       0 log entries
----------  /data/master/gpseg-1/pg_log/gpdb-2019-12-24_150758.csv ----------
       in:      57 lines,      57 log entries; timestamps from 2019-12-24 15:07:58.102589 to 2019-12-24 15:07:59.531255
    match:       0 lines
      out:       0 lines,       0 log entries
----------  /data/master/gpseg-1/pg_log/gpdb-2019-12-24_164403.csv ----------
       in:      57 lines,      57 log entries; timestamps from 2019-12-24 16:44:03.362180 to 2019-12-24 16:44:04.715757
    match:       0 lines
      out:       0 lines,       0 log entries
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//批量检查segment日志
gpssh -f seg_hosts -e 'source /usr/local/greenplum-db/greenplum_path.sh ; gplogfilter -t /data/primary/gpseg*/pg_log/gpdb*.csv' > seglog.out
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[gp-node1] source /usr/local/greenplum-db/greenplum_path.sh ; gplogfilter -t /data/primary/gpseg*/pg_log/gpdb*.csv
[gp-node1] requested timestamp range from beginning of data to end of data
[gp-node1] ----------  /data/primary/gpseg0/pg_log/gpdb-2019-12-19_164202.csv ----------
[gp-node1]        in:      15 lines,      15 log entries; timestamps from 2019-12-19 16:42:02.777733 to 2019-12-19 16:42:03.762678
[gp-node1]     match:       0 lines
[gp-node1]       out:       0 lines,       0 log entries
[gp-node1] ----------  /data/primary/gpseg0/pg_log/gpdb-2019-12-19_164211.csv ----------
[gp-node1]        in:      13 lines,      13 log entries; timestamps from 2019-12-19 16:42:11.012501 to 2019-12-19 16:42:11.791297
[gp-node1]     match:       0 lines
[gp-node1]       out:       0 lines,       0 log entries
[gp-node1] ----------  /data/primary/gpseg0/pg_log/gpdb-2019-12-20_000000.csv ----------
[gp-node1]        in:       3 lines,       3 log entries; timestamps from 2019-12-20 15:03:05.230915 to 2019-12-20 15:03:05.296381
[gp-node1]     match:       0 lines
[gp-node1]       out:       0 lines,       0 log entries
[gp-node1] ----------  /data/primary/gpseg0/pg_log/gpdb-2019-12-20_151848.csv ----------
[gp-node1]        in:      16 lines,      16 log entries; timestamps from 2019-12-20 15:18:48.992510 to 2019-12-20 15:32:28.987426
[gp-node1]     match:       0 lines
[gp-node1]       out:       0 lines,       0 log entries
[gp-node1] ----------  /data/primary/gpseg0/pg_log/gpdb-2019-12-20_153742.csv ----------

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
Snova运维篇(七):GP数据迁移和监控
gptransfer会为每个源Segment设置一个命名管道和一个gpfdist进程。这是用于最优数据传输率的配置并且被称为Fast模式。
snova-最佳实践
2019/12/27
2.3K0
Snova运维篇(七):GP数据迁移和监控
Snova运维篇(八):GP数据库访问管理及认证
Master实例的pg_hba.conf文件控制对Greenplum数据库系统的客户端访问及认证。
snova-最佳实践
2019/12/30
1.1K0
Snova运维篇(八):GP数据库访问管理及认证
Snova基础篇(三):Greenplum集群初始化问题及调试
gpinitsystem 的日志文件。默认路径为 ~/gpAdmin/gpinitsystem_***
snova-最佳实践
2019/12/20
1.8K0
Snova基础篇(三):Greenplum集群初始化问题及调试
在CentOS 8.4中安装GreenPlum 6
https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/1163282/file_groups/9837
AiDBA宝典
2023/11/22
1.2K0
在CentOS 8.4中安装GreenPlum 6
在Docker中快速体验GreenPlum 7.0.0
地址:https://hub.docker.com/r/lhrbest/greenplum/tags
AiDBA宝典
2023/08/10
1.3K0
在Docker中快速体验GreenPlum 7.0.0
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
GreenPlum 7.0.0正式版已于2023.09.29发布,基于PG 12.12内核版本。
AiDBA宝典
2023/11/16
9560
在Docker中快速体验GreenPlum 7.0.0和gpcc 7.0.0
Snova运维篇(一):基础维护工具和命令
gpstart工具来启动一个已经由gpinitsystem工具初始化好但已经被gpstop工具停止的Greenplum数据库系统
snova-最佳实践
2019/12/24
7140
Snova运维篇(一):基础维护工具和命令
GreenPlum 6.19.3 安装部署基础版
Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用sharednothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。 本质上讲Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP(Massively Parallel Processing)架构。跟MySQL、Oracle 等关系型数据不同,Greenplum可以理解为分布式关系型数据库。 关于Greenplum的更多信息请访问https://greenplum.org/
AiDBA宝典
2023/04/27
1.7K0
GreenPlum 6.19.3 安装部署基础版
GreenPlum数据库故障恢复测试
环境介绍: Gpdb版本:5.5.0 二进制版本 操作系统版本: CentOS linux 7.0 Master segment: 192.168.1.225/24 hostname: mfsmaster Stadnby segemnt: 192.168.1.227/24 hostname: server227 Segment 节点1: 192.168.1.227/24 hostname: server227 Segment 节点2: 192.168.1.17/24 hostname: server17 Segment 节点3: 192.168.1.11/24 hostname: server11 每个segment节点上分别运行一个primary segment和一个mirror segment
星哥玩云
2022/08/16
8600
GreenPlum数据库故障恢复测试
Snova运维篇(三):GP数据库备份和恢复
本节主要从gp数据备份和恢复角度深入学习gp数据库。定期执行备份能确保在数据损坏或者系统失效发生时能恢复数据或者重建Greenplum数据库系统。用户还可以使用备份从一个Greenplum数据库系统迁移数据到另一个。
snova-最佳实践
2019/12/26
2K0
Snova运维篇(三):GP数据库备份和恢复
Snova运维篇(九):gp数据库中数据的基本操作-1
一个表空间可以让多个数据库使用;而一个数据库可以使用多个表空间。属于"多对多"的关系。
snova-最佳实践
2019/12/30
2.4K0
Snova运维篇(九):gp数据库中数据的基本操作-1
Greenplum 5.21.1 集群安装部署详述
简单来说GPDB是一个分布式数据库软件,其可以管理和处理分布在多个不同主机上的海量数据。对于GPDB来说,一个DB实例实际上是由多个独立的PostgreSQL实例组成的,它们分布在不同的物理主机上,协同工作,呈现给用户的是一个DB的效果。Master是GPDB系统的访问入口,其负责处理客户端的连接及SQL 命令、协调系统中的其他Instance(Segment)工作,Segment负责管理和处理用户数据。
星哥玩云
2022/08/18
1.1K0
Greenplum 5.21.1 集群安装部署详述
故障分析 | Greenplum 集群 standby 故障处理
客户测试环境Greenplum集群中,standby节点数据目录被误删除,导致standby节点不可用。如果此时由于其它各种原因导致master节点也不可用,则集群将无法对外提供服务,因此现需尽快恢复standby节点。
爱可生开源社区
2022/12/07
9430
在Docker中快速体验GreenPlum 6.23.1和gpcc监控工具
环境配置 地址:https://hub.docker.com/repository/docker/lhrbest/greenplum_gpcc/tags?page=1&ordering=last_up
AiDBA宝典
2023/04/27
7260
在Docker中快速体验GreenPlum 6.23.1和gpcc监控工具
Greenplum 6 安装配置详解
114.112.77.199 master、segment 210.73.209.103 standby master、segment 140.210.73.67 segment
用户1148526
2021/12/07
2.2K0
GPCC参数metrics_collector配置错误导致GreenPlum启动报错
从启动日志“2023-01-16 12:58:59.465304 CST,,,p8992,th834783360,,,,0,,,seg-1,,,,,"FATAL","58P01","could not access file ""metrics_collector"": No such file or directory",,,,,,,,"internal_load_library","dfmgr.c",202,1 0xbef3fc postgres errstart (elog.c:557)”可以看到应该是metrics_collector的问题,这个值是参数文件postgresql.conf中的shared_preload_libraries的值,用于开启gpcc的指标监控。
AiDBA宝典
2023/04/27
8640
GPCC参数metrics_collector配置错误导致GreenPlum启动报错
Greenplum中检测和恢复故障的master实例
greenplum整个集群是由多台服务器组合而成,任何一台服务都有可能发生软件或硬件故障,我们一起来模拟一下任何一个节点或服务器故障后,greenplumn的容错及恢复方法.
AiDBA宝典
2023/04/27
2K0
Greenplum中检测和恢复故障的master实例
故障分析 | Greenplum Segment 故障处理
我们知道Greenplum集群由Master Severs和Segment Severs组成。其中故障存在三种类别:Master故障、Segment故障、数据异常。之前我们已经聊过“Master故障”和“数据异常”的处理方式,今天将介绍Segment故障的处理方式。
爱可生开源社区
2023/02/02
2.1K0
GreenPlum管理数据库
在后备Master主机上,移动或者移除数据目录gpseg-1。这个例子移动该目录:
AiDBA宝典
2023/11/16
4090
GreenPlum管理数据库
GreenPlum 6.23.0 安装部署高配版(启用standby master和segment mirror)
可以从 Greenplum 的 GitHub 页面(https://github.com/greenplum-db/gpdb/releases)下载RPM 包,或注册并登录到 Pivotal 公司官网(https://network.pivotal.io/products/vmware-tanzu-greenplum)进行下载。
AiDBA宝典
2023/04/27
2.6K0
GreenPlum 6.23.0 安装部署高配版(启用standby master和segment mirror)
推荐阅读
相关推荐
Snova运维篇(七):GP数据迁移和监控
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验