YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
系统配置参数
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
常见问题(FAQ)
etcd 监控
在 YMatrix 5 新架构下,引入了 etcd 存放集群的配置和状态信息。etcd 非常关键,如果出现异常,会导致数据库的不稳定甚至崩溃。
本文介绍安装和部署etcd监控的方法,推荐生产环境的集群都安装此监控,因为 etcd 状态正常是数据库健康运行的前提。
1 安装 Prometheus(如已有此软件请跳过此步)
请进入 Prometheus 官网 下载以下内容:
将下载到的 tar 包上传到 Linux 服务器上。如果条件允许,推荐使用单独的服务器运行 Prometheus,如果服务器有限,也可以临时放在主节点备用节点(Standby)或者主节点(Master)主机上。
$ tar xvfz prometheus-*.tar.gz
可以将解压出来的 prometheus-*
目录移动到 /usr/local/
下。
2 设置 Prometheus 拉取 etcd 状态
编辑配置文件。
$ cd prometheus-*
sudo vi prometheus.yml
在文件末尾,追加如下内容:
- job_name: "etcd"
static_configs:
- targets: ["172.31.33.128:4679", "172.31.45.253:4679", "172.31.35.134:4679"]
其中,targets
里是一个数组,需要替换成集群里每一个etcd 节点的地址。
该信息可以在 Master 主机上的 /etc/matrixdb5/physical_cluster.toml
文件中找到。
$ cat physical_cluster.toml
cluster_id = '79LhQxjuwmXgSWZCjcdigF'
supervisord_grpc_port = 4617
deployer_port = 4627
etcd_endpoints = ['http://10.0.159.1:4679', 'http://10.0.172.185:4679', 'http://10.0.170.90:4679', 'http://10.0.146.2:4679', 'http://10.0.146.195:4679', 'http://10.0.150.110:4679', 'http://10.0.169.149:4679']
注意!
如果你的主机上没有/etc/matrixdb5/physical_cluster.toml
文件,且找不到 etcd 进程,说明你的集群不是用 5.x 新架构部署的,也不涉及监控 etcd。
3 启动 Prometheus
./prometheus --config.file=prometheus.yml
注意!
通常我们希望将 Prometheus 作为系统服务在后台运行,这需要将其配置为 systemd 服务。
4 安装 Grafana(如已有此软件请跳过此步)
请参照官方文档 安装 Grafana 软件。
注意!
需要安装 Grafana 8.2.5 或更高版本。
5 配置 Grafana 的 etcd 看板
首先登陆 Grafana 页面,默认地址如下:
http://<安装节点的IP或者域名>:3000
5.1 配置数据源(DataSource)
172.31.23.21:9090
是前一步部署的 Prometheus 的服务端口。
5.2 导入 Dashboard
访问Grafana社区:
https://grafana.com/grafana/dashboards/?search=Etcd+Cluster+Overview
如上链接可搜索到社区提供的 Dashboard:
点击进入,获得该 Dashboard 的 ID:
注意!
此 ID 对应的 Dashboard 不排除会发生变化的可能。目前为 15308,用户请以自身搜索结果为准。
如下图,这里我们导入 15308 号 Dashboard。
如下图,选择我们刚才配置的数据源名称,最后加载 Dashboard。
如果服务器处于内网,可能无法通过编号 15308 导入。需要在其他可上网的电脑上 下载 Dashboard 的 JSON 文件再导入。
6 etcd Dashboard 关键项目介绍
- etcd 的服务状态和成员个数
- Has Leader 必须是 Yes,否则说明 etcd 服务不可用。
- Members 个数由系统的主机个数自动决定,最多为 7 个。
- Quorum 成员列表及各自的服务进程状态
- DB Capacity 代表剩余的可用空间,etcd 默认数据库大小上限为 2G,如果剩余空间太小则可能在不久后写满,导致 etcd 服务不可用。此时应考虑 Compact 或者 Defragment (类似 Vacuum、Vacuum Full)。
- Mem Used 代表各 etcd 实例的实际内存用量,通常在 几百MB。
- DB Total Size 表示 etcd 数据量随时间的增长,如果曲线异常增加,则可能引起数据库空间达到上限等问题。
注意!
更多指标和详细介绍,可以参照 etcd 官方文档。