文档中心MogDBMogDB StackUqbar
v2.0

文档:v2.0

支持的版本:

FAQ

常见问题

是否可以以非 root 用户安装 ptk

可以,PTK 对自身的运行用户没有要求。

是否可以通过普通用户SSH连接安装数据库集群

可以。在部署集群时,配置文件中链接数据库服务的 SSH 用户一般建议设置为具有 sudo 权限的超级用户,这样PTK可以自动创建运行数据库的普通用户并配置用户的 ulimit 参数等。如果无法提供超级权限用户,您也可以预先在数据库服务器上创建好系统用户,然后在PTK的配置文件使用该系统用户配置ssh链接信息进行安装数据库集群,但无法执行安装 MogHA 等需要 sudo 权限的组件。

是否需要预装 Python3?

需要,且版本需为 python3.6 或者 python 3.7,因为 om 包中提供的预编译好的 psutil 动态库目前仅支持这两个版本。

ptk 和 mogdb 本身不依赖 python3,gs_om、gs_guc 等工具依赖,所以建议预装好,保证环境使用顺利。

能否在 PTK 未支持的操作系统版本上使用 PTK 进行数据库安装?

可以。

PTK 本身提供完整通用的安装流程,默认情况下,PTK 会针对客户系统自动判断需要下载的数据库安装包类型,但对于超出 PTK 支持的操作系统或版本,PTK 无法为用户决定应该使用哪个安装包,此时,用户可以通过 ptk install 提供的 -p 参数来指定安装包安装,但由于未测试过,不一定能够正常启动,这是很正常的。

用户在决定自己的系统应该尝试使用哪个安装包时,可以参考如下规则:

  1. 优先判断 CPU 指令集架构

    uname -m

    arm64/aarch64 的情况考虑使用 openEuler arm64 安装包

    x86_64 继续判断

  2. 其次根据内核 glibc 版本判断

    getconf GNU_LIBC_VERSION

    如果 glibc 版本小于等于 2.17,考虑使用 centos7 x86_64 的安装包,否则考虑使用 openEuler x86_64 的安装包

PTK安装后,是否还支持 gs_om 操作?

支持。PTK 安装的集群兼容 gs_om 工具,但不支持 gs_upgrade、gs_expansino、gs_dropnode 等涉及集群结构变更的工具。

注意:gs_om 的操作需要是节点之间的用户SSH互信,PTK 安装后会自动建立,若未创建需用户自行建立。

PTK 如何查看目前可支持安装的mogdb版本?

执行 ptk candidate db 指令查看

PTK 如何查看目前可支持安装的操作系统?

执行 ptk candidate os 指令查看

是否支持安装 CM 组件?

支持。 在安装数据库集群时,通过指定 --install-cm 参数即可自动安装CM组件。

PTK 必须和数据库在同一个服务器上吗?

不是的。PTK 工具是中心化多集群管理工具,所以我们更推荐 PTK 独立在一个管理服务器上安装,数据库在数据库专用的服务器集群内节点上安装。

如果通过复制虚机创建了一个新的集群,如何修改IP来使得PTK正常工作

对于这种场景,我们首先需要根据PTK的使用方式来进行不同的处理:

1. PTK和集群是一对一进行管控

# 比如有两个集群,分别使用两个PTK进行管理

PTK(1) ---> Cluster1

PTK(2) ---> Cluster2

对于这种情况的话,可以通过直接使用 PTK(2) 执行如下命令进行IP的变更即可:

ptk cluster -n <CLUSTER2> refresh --replace-ip <OLD_IP>=<NEW_IP>

2. PTK集中管控多个集群

     ┌----> Cluster 1
PTK--┤
     └----> Cluster 2

对于这种情况,不能直接替换IP,如果直接执行 refresh 替换IP的话,会导致PTK由管控 cluster 1 变为管控 cluster 2, ptk ls 将看不到集群1。

此时需要通过复制 PTK 的元数据来进行创建集群2的元数据:

cp -r `ptk env PTK_DATA_DIR`/<CLUSTERNAME1> `ptk env PTK_DATA_DIR`/<CLUSTERNAME2>
vim `ptk env PTK_DATA_DIR`/<CLUSTERNAME2>/topology.yml 打开修改集群名称、 ip 信息
ptk cluster -n <CLUSTERNAME2> refresh

常见报错

安装时报错:cmd init: ssh: setenv failed

该错误是由于目标服务器的 sshd 服务不接受创建连接时设置 LANG 环境变量,需在目标服务器上执行以下命令更新一下 sshd 的配置文件,然后重启 sshd 服务即可:

sudo echo  "AcceptEnv LANG LC_*" >> /etc/ssh/sshd_config && sudo systemctl restart sshd

初始化数据库报错:undefined symbol: EVP_KDF_ctrl

使用的安装包和机器的系统不匹配,此错误一般出现于在 glibc 版本较高的系统上使用 centos7 的安装包进行安装。

解决方法就是改用 openEuler 的安装包进行安装即可。

报错:can not combine with 'abrt-hook-ccpp'

使用 abrt(automatic bug report too) 服务代理 coredump 文件,有可能导致 core 文件丢失或者数据库宕机的风险。

什么是abrt服务

可通过修改 kernel.core_pattern 参数的值修复。

# 值根据需求可自定义
sysctl -w kernel.core_pattern=/var/log/coredump/%e.%p.%u.%t.core

查询的状态报错 FATAL: semctl(578486307, 7, SETVAL, 0) failed: Invalid argument

请检查服务器 /etc/systemd/logind.conf 中 RemoveIPC 的值是否为 no,修改后重启服务器

报错 fail to new sftp client: EOF

这个错误代表 PTK 在和目标机器创建 sftp 连接时失败,可以通过手动在 PTK 的机器上去执行 sftp -vvv USER@HOST 去查看调试日志里的报错信息。

一般是由于目标机器的 /etc/ssh/sshd_config 文件里的 Subsystem sftp 配置的 sftp-server 文件不存在或无法访问导致

Copyright © 2011-2024 www.enmotech.com All rights reserved.