YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
-
数据类型
-
存储引擎
-
执行引擎
-
系统配置参数
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)
-
新架构 FAQ
- 听说 5.x 下不能随便重启 Supervisor 了,为什么,如果重启了会发生什么?
- 为什么每个服务器上都有 Shard / Cluster 服务进程,但只有一个是活跃(active)状态?
- etcd 是部署在每台主机上吗?
- 日常我们需要针对 etcd 做哪些运维操作?
- etcd 的数据量有多大?是否需要特别的运维工作?
- 引入 etcd 后,图形化界面部署数据库集群操作有哪些变化?
- 5.0 现版本如何在线扩容?
- 5.0 beta 号称实现了 Master Auto-failover,为什么 Master 关机并切换后,再开机 Master 不会自动恢复?
- 当故障自动转移(Auto-failover)发生在不同组件,会分别产生什么影响?我要如何进一步操作?
- YMatrix 5 单个组件启动
- 我不想安装 etcd,可以选择在 YMatrix 5.X 上安装无 etcd(非高可用)的集群吗?
- Master 发生自动切换的延迟是多久?
- Segment 是否可以被 supervisor 自动恢复?
- 当半数以上的 etcd 进程异常(被杀死或无法启动)后,集群出现宕机,是正常现象吗?
-
集群部署 FAQ
- error: could not access directory /data/mxdata_20221104084534/master/mxseg-1: Permission denied
- yum 安装 matrixdb 包后报错 cpio read error
- could not connect to server: No route to host
- setuptools 报告不支持参数:unknown distribution option:long_description_content_type
- ssh 默认端口不是 22
- 图形化界面初始化报错:ping <主机名1> error:lookup multiple ip:<IP 地址1>,<IP 地址1> ping <主机名2> error:lookup multiple ip:<IP 地址2>,<IP 地址2>
- 使用图形化界面部署 YMatrix 报错 failed to connect to host=mdw user=mxadmin database=postgres: dial error (dial tcp 192.168.247.132:5432: connect: connection refused)
- 添加主机失败 collect: do collect: unmarshal remote: json: cannot unmarshal string into Go struct field Disk.hardware.disk.ineligibleDesc of type mxi18n.Message
- 集群启动报错
- 图形化部署 YMatrix 报错:优化操作系统配置 ... 已撤销...
- 安装 YMatrix 安装包报错,缺少依赖
- 由于服务器内核参数配置异常导致 Supervisor 启动异常 panic: timeout to start gRPC service
- 安装 YMatrix 收集信息失败
- 初始化失败,报 failed: initialize_database: error execute /opt/ymatrix/matrixdb-5.0.0+enterprise/bin/initdb
- 可以使用 Nginx 为图形化界面配置域名吗?
- Interconnect error writing an outgoing packet: operation not permitted
- 由于环境限制,我没办法使用图形化部署 YMatrix,可以使用命令行部署的方式吗?
- /etc/hosts 文件缺少 localhost 配置选项导致 Supervisor 服务启动异常
- YMatrix 至少需要多少服务器才能实现新架构中 etcd 集群的高可用?
- 安装数据库时报错 LOG: gp_role forced to 'utility' in single-user mode Y.sh: line 1: 11865 Illegal instruction
-
SQL 查询 FAQ
- ERROR: EvalPlanQual can not handle subPlan with Motion node
- ERROR: Too many unresolved insertion xids, please do a vacuum
- ERROR: modification of distribution columns in OnConflictUpdate is not supported
- 图形化客户端收到 log:server closed the connection unexpectedly
- PARTITION 表简单 Filter 操作的 UNION ALL 查询比 IN 查询慢
- 插入 int 类型数据,单独查询跑很快,但放到 Plpgsql Function 里很慢
- PARTITION 分区裁剪更新操作,两个会话(Session)独立更新会导致互锁
- 自定义 type 使用及单表字段扩展
- ERROR,XX000,Right sibling's left-link doesn't match : block 817 links to 45366 instead of expected 70930 in index tab_idx
- 更新删除时报错 cannot delete from table &tablename because it does not have a replica identity and publishes deletes
- ERROR: could not read block 0 in file base/1588803/269422
- 行转列示例
- 列转行示例
- pg_hba.conf 文件内容配置的顺序导致的远程访问权限异常
- idle in transaction timeout 报错
- insufficient memory reserved for statement 报错
- evalplanqual can not hanlde subplan with motion node 报错
- 在客户端创建表在 Linux 上查询不到,但是客户端上可以查询到
- UUID 分布键插入数据出现数据丢失、数据重复问题
- 数据库对应的操作系统版本从 CentOS7 升级到 CentOS8,查询语句性能下降
- 执行 SQL 语句时显示 insufficient memory reserved for statement 错误
- 创建 matrixts 扩展时报错 ERROR: type mxkv_text already exist
-
MatrixGate FAQ
- 数据加载性能低
- failed to acquire resources on on or more segments ,fatal out of memory
- mxgate 发生锁等待卡住
- mxgate 排除某一列
- mxgate 流式加载增加列不停服的办法
- mxgate socket 文件缺失?
- data format error: invalid input syntax for type integer: 1970-01-01 00:00:01
- mxgate 入库时间字段默认值相差 8 小时
- Aborting operation regardless of REJECT LIMIT value, last error was: invalid input syntax for type timestamp: 22:31:01, column batch_num
- ERROR c.s.o.matrixdb.MatrixdbSource 77 -MatrixdbSource sendingPostRequest errorCode: 400, errorMsg: target table name is empty
- responseCode:500 errorMsg: ERROR: invalid byte sequence for encoding UTF8: 0x81
- body size exceeds the given limit
- you license is expired 2022-11-02
- 使用 MatrixGate 迁移数据报错:Cannot start source: --local-ip localhost is not a valid IP address
- 使用 MatrixGate 数据加载表数据存在双引号
- MatrixGate 升级
- MatrixGate 需要加载包含 unix 时间数据的数据文件,但数据文件中 unix 数据所在的字段不是第一个字段
- MatrixGate 加载数据文件中有 \N 字符
- MatrixGate 通过迁移模式写入时出现 Handshaking was terminated on port XXX
- MatrixGate 可以实现任意列时间戳转换吗?
- MatrixGate JAVA SDK JAR 包可以下载到本地导入吗?
- Kafka 消费 key 字段包含 @ 符号,数据解析找不到 value
- mxgate 迁移模式非 mxadmin 用户提示没有权限
-
运维 FAQ
- 忘记密码
- ssh_exchange_identification: Connection closed by remote host
- psql: WARNING: database testdb must be vacuumed within 529926866 transactions (seg35 192.168.247.129:6005 pid=448116)
- could not read block 3684552 of temporary file
- YMatrix 可以修改服务器主机名(Hostname)吗?
- 数据库启动报错 FATAL: database postgres does not exist
- rpc error: code = Unknown desc = primary not found in shard state
- mxaddmirrors 执行部署添加 Mirror 报错
- ERROR: replication slot internal_wal_replication_slot already exists
- ERROR: interconnect Error: Could not set up tcp listener socket
- 使用 mxshift 工具进行迁移之前,如何增加白名单?
- 如果我在内网环境使用 mxshift 工具,需要开通哪些端口?
- index ron requires 19160 bvtes, maximum size is 8191
-
监控告警 FAQ
- 可以离线安装 Grafana 监控吗?
- Grafana 报错 Annotation Query Failed No message available
- Grafana 发送邮件报错 smtp; 554 Reject by behaviour spam at Rcpt State(Connection IP address:***) ANTISPAM_BAT[01201311R106a,ay29a033002195086]: spfcheck failedCONTINUE
-
PXF FAQ
- remote component error,Failed connect to localhost:5888; Connection refused (libchurl.c:950)
- 文件入库时,某一个字段包含换行符,将一行数据切分成两行,再以分隔符切分,就会导致数据与字段数不一致,也就是说一行数据里有两个 \n 一个在中间一个在尾部 但是中间那个不能被当做换行符处理
- PXF 访问 S3 可以递归当前目录,或者所有子目录下的所有文件吗?
- PXF 可以读取 S3 存储上的文件吗?如何读取?
-
PLPython FAQ
- PLPython 和 Python 连接数据库操作的区别与优劣是什么?
- 如何在数据库中使用 PLPython
- PLPython 中如果需要第三方的库怎么安装?
- Python 访问 YMatrix 数据库示例
- Python 批量插入数据示例
- PLPython 中使用 Python 代码
- PLPython 标准异常处理
- 使用 traceback 处理 PLPython 异常
-
性能 FAQ
系统需求
本文档列出了支持在线部署 YMatrix 5.1.X 集群的系统环境需求,包含操作系统及 CPU 架构等。
- 操作系统及平台要求
企业特性 | 操作系统 | CPU 架构 |
否 | CentOS 7 Red Hat Enterprise Linux 7 | x86_64: ࠾ 海光 ࠾ 兆芯 开胜® KH-40000 系列 ࠾ 兆芯 开胜® KH-20000 系列 ࠾ 兆芯 开胜® ZX-C+FC-1080/1081 系列 ࠾ 兆芯 开先® KX-5000 系列 ࠾ 兆芯 开先® ZX-C+ 系列 AArch64: ࠾ 飞腾 FT-1500A ࠾ 飞腾 FT-2000 ࠾ 飞腾 FT-2000+ ࠾ 鲲鹏 Kunpeng 920 |
是 | 麒麟信安 V3.3 中标麒麟 V7 |
|
否 | CentOS 8 - 8.5 Red Hat Enterprise Linux 8 |
|
是 | 龙蜥(Anolis)OS 8 统信(UOS) V20(1060a) |
|
否 | Ubuntu 20.04 LTS | |
是 | 银河麒麟 V10 银河麒麟 V10 SP1 银河麒麟 V10 SP2 银河麒麟 V10 SP3 OpenEuler 20.03 LTS OpenEuler 20.03 LTS SP1 OpenEuler 20.03 LTS SP2 OpenEuler 20.03 LTS SP3 超聚变(Fusion)OS 22 麒麟信安 V3.4 统信(UOS) V20(1060e) |
|
是 | OpenEuler 22.03 LTS OpenEuler 22.03 LTS SP1 超聚变(Fusion)OS 23 麒麟信安 V3.5 |
注意!
单机安装测试前,请自查是否满足 YMatrix 最低 CPU 架构指令集要求。
自查方法:执行cat /proc/cpuinfo
命令:
x86_64 架构:检查Flags
是否完整包含mmx, sse, sse2, ssse3, sse4_1, sse4_2, avx, avx2
指令集。
AArch64 架构:检查CPU architecture
是否为8
;检查Features
中是否含有asimd
。
多机部署系统会在部署过程中自动检查 CPU 架构指令集。
注意!
YMatrix 安装环境需至少支持 Haswell 及以上的 Intel 处理器架构,或 Excavator 及以上的 AMD 处理器架构。
- 图形化界面(MatrixUI)支持的浏览器要求
浏览器 | 版本 |
Chrome | 92.0.4515 及以上版本 |
Firefox | 90.0 及以上版本 |
注意!
麒麟系统等国产化平台仅在企业特性中支持,如有需要请联系售前人员:info@ymatrix.cn。