YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- 全文搜索
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
系统配置参数
- 使用说明(必读)
- 参数目录
- 文件位置参数
- 连接与认证参数
- 客户端连接默认值参数
- 错误报告和日志参数
- 资源消耗参数
- 查询调优参数
- 运行中的统计信息参数
- 自动清理参数
- 数据表参数
- 锁管理参数
- 资源管理参数
- YMatrix 数据库集群参数
- 预写式日志参数
- 复制参数
- PL/JAVA 参数
- 版本和平台兼容性参数
-
索引
-
扩展
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)
mxaddmirrors
本文档介绍了镜像节点(Mirror)添加工具 mxaddmirrors。
1 描述
- 功能
- mxaddmirrors 工具支持将 Mirror 添加到最初没有配置 Mirror 的 YMatrix 系统,并开始数据节点主节点(Primary)与 Mirror 之间的在线复制进程。
- 一旦所有的 Mirror 与其对应的 Primary 同步好,你的 YMatrix 数据库系统就建立了完全的数据冗余。
注意!
在添加的过程中,数据库应处于静止状态,负载和其他查询不应该运行。
2 命令行参数信息
以下是详细的命令行参数信息介绍:
子命令 | 参数名 | 描述 | 可选 |
---|---|---|---|
config | 创建一个自定义配置文件 | ||
--db-cluster-id | 数据库集群 ID。用以标识唯一的数据库集群 | 可选 | |
--filename | 将生成的配置保存到该文件,如不存在此文件,则会自动生成。也可以使用重定向 | 可选 | |
init | 将收集到的信息转换为一份基本计划 | ||
--db-cluster-id | 数据库集群 ID。放置在 /etc/matrixdb5/cluster.conf 文件中。如果当前只部署了一个集群使用最后一个 ClusterID 即可,否则选择对应集群的 --db-cluster-id |
必选 | |
--mirror-port-base | 从当前端口开始搜索一个空闲端口作为 Mirror 监听的端口,默认从 7000 开始寻找 |
可选 | |
plan | 生成部署计划 | ||
--init-file | init 命令输出的信息重定向文件的绝对路径 |
必选 | |
--custom-config | config 命令生成的文件的绝对路径 |
可选 | |
setup | 执行部署 | ||
--plan-file | plan 命令输出的信息重定向文件的绝对路径 |
必选 |
注意!
如果不需要修改默认行为的话,只选取必选参数即可。
3 使用流程示例
mxaddmirrors 需要在主节点(Master)拥有 sudo 权限的用户上(除 mxadmin 外,需使用绝对路径 /opt/ymatrix/matrixdb5/bin/mxaddmirrors
)执行。如误在无 sudo 权限的用户上执行了 mxaddmirrors init
命令,则会在该用户下生成 mxaddmirrors.init
文件,其他用户只可读不可写。需要删除该生成文件,再在拥有 sudo 权限的用户上重新执行命令,以重新生成文件。
我们在此给出默认行为、自定义配置两种流程示例。具体如下:
注意!
3.1,3.2 任选其一即可,默认行为将采取 YMatrix 默认的环状(Ring)镜像分布策略,自定义配置则可以自行调整至需要的其他镜像策略。无论选取默认行为还是自定义,你都需执行一个完整的 Mirror 添加流程。
3.1 默认行为
-
收集机器信息和已部署数据库的部分信息。
$ mxaddmirrors init > /tmp/mxaddmirrors.init
-
根据收集的信息生成部署计划,即具体部署步骤。
$ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init > /tmp/mxaddmirrors.plan
-
执行部署。
$ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli
3.2 自定义配置
- 将生成的配置保存到
config
文件,如不存在此文件,则会自动生成。$ mxaddmirrors config --filename /tmp/config
- 编辑
config
文件。$ edit config
- 收集机器信息和已部署数据库的部分信息。
$ mxaddmirrors init > /tmp/mxaddmirrors.init
- 根据收集的信息生成部署计划,即具体部署步骤。
$ mxaddmirrors plan --init-file /tmp/mxaddmirrors.init --custom-config /tmp/config > /tmp/mxaddmirrors.plan
- 执行部署。
$ mxaddmirrors setup --plan-file /tmp/mxaddmirrors.plan --mode cli
生成的配置文件为 CSV 格式。
0||7000| 1||7000|
- 此文件一共有四列,分别是
content_id
,hostname
,port
和rootdir of datadir
(在该目录下生成各种数据库的目录和文件)。 - 如果是空值,表示不修改此配置,使用默认行为。
content_id
不允许为空并且不能重复。被修改的选项都会生效,所见即所得。
注意! YMatrix 5 部署了全新的数据库架构,启用 mxaddmirrors 工具来添加 Mirror,与 gpaddmirrors 不兼容。之前版本可使用 gpaddmirrors 工具。