- About PTK
- Quick Start
- Guidance
- Preparing Configuration File
- Checking the System
- Deploy Database Cluster
- Manage Clusters
- Show Cluster List
- Show Cluster Status
- Start Database
- Stop Database
- Restart Database
- Rebuild Database
- Switchover
- Failover
- Show Plugin Information
- Install Plugins
- Upgrade Database
- Scale-out Cluster
- Scale-in Cluster
- Show Database HBA
- Set Database HBA
- Show Database Parameters
- Set Database Parameters
- Show Cluster Topology Configuration
- Show Cluster Meta Information
- Update Cluster Comment
- Update Database IP
- Role Management
- Install CM
- Uninstall CM
- Manage Cluster VIP
- Install MogHA Service
- Uninstall MogHA Service
- Rename Cluster
- Create Empty Cluster
- Throw Out A Node
- Takeover A Node
- Manage Cluster
- Uninstall Database Cluster
- Collect OS Information
- Download MogDB Installer
- Encrypt Sensitive Information
- Upgrade PTK
- PTKC
- Compatible With Higher Versions of MogDB
- Reference
- Samples of Configuration Files
- Commands
- ptk
- ptk completion
- ptk view-static-config
- ptk init-cluster
- ptk collect
- ptk rec-guc
- ptk cache
- ptk gen-ptkc
- ptk manage
- ptk demo
- ptk meta
- ptk version
- ptk self
- ptk gen-om-xml
- ptk env
- ptk gen-static-config
- ptk cluster
- ptk cluster createdb
- ptk cluster uninstall-compat-tools
- ptk cluster install-compat-tools
- ptk cluster install-mogila
- ptk cluster rename
- ptk cluster throwout
- ptk cluster takeover
- ptk cluster uninstall-cm
- ptk cluster install-cm
- ptk cluster gen-cert-files
- ptk cluster load-cm-vip
- ptk cluster del-kerberos-auth
- ptk cluster add-kerberos-auth
- ptk cluster uninstall-kerberos-server
- ptk cluster install-kerberos-server
- ptk cluster is-in-upgrade
- ptk cluster upgrade-rollback
- ptk cluster upgrade-commit
- ptk cluster upgrade
- ptk cluster demote
- ptk cluster promote
- ptk cluster refresh
- ptk cluster shell
- ptk cluster modify-comment
- ptk cluster show-config
- ptk cluster set-guc
- ptk cluster show-guc
- ptk cluster set-hba
- ptk cluster show-hba
- ptk cluster scale-out
- ptk cluster scale-in
- ptk cluster uninstall-mogha
- ptk cluster install-mogha
- ptk cluster list-plugins
- ptk cluster install-plugin
- ptk cluster inspect
- ptk cluster failover
- ptk cluster switchover
- ptk cluster build
- ptk cluster status
- ptk cluster restart
- ptk cluster stop
- ptk cluster start
- ptk uninstall
- ptk ls
- ptk install
- ptk exec
- ptk template
- ptk encrypt
- ptk checkos
- ptk download
- ptk candidate
- Troubleshooting
- FAQ
- Release Notes
- Community
- Appendix: YAML Syntax
FAQ
Common problems
Is it possible to install PTK as a non-root user?
Yes, PTK has no restrictions on the users it can run with.
Is it possible to install a database cluster through a normal user SSH connection
Yes. When deploying a cluster, it is generally recommended that the SSH user linked to the database service in the configuration file be set to a super user with sudo privileges, so that PTK can automatically create a normal user to run the database and configure the user's ulimit parameters. If you cannot provide a super user, you can also create a system user on the database server in advance, and then use the system user to configure the ssh link information in the PTK configuration file to install the database cluster, but you cannot perform the installation of MogHA and other components that require sudo privileges.
Do I Need to Pre-Install Python3?
Yes. Python 3.6 or Python 3.7 needs to be pre-installed because the psutil (python system and process utilities) dynamic library in the OM package supports only this two versions.
PTK and MogDB themselves do not depend on Python3 but gs_om and gs_guc do. Therefore, Python needs to be pre-installed to make sure that the environment meets the requirement.
Can I Install a Database on an Operating System that Is Not Supported by PTK?
Yes.
PTK itself provides a completed and general installation process. It automatically judges the database installation package to be downloaded based on the customer system by default. However, PTK cannot determine the installation package that is really needed when the operating system or operating system version is not supported by PTK. In this case, you can use the -p
parameter in the ptk install
command to specify an installation package. In view of the fact that the installation is not tested, it may fail. This is normal.
When you try to choose an installation package to adapt to your system, you can comply with the following rules:
-
Make judgment based on the CPU command set architecture.
uname -m
For
arm64/aarch64
, use the openEuler arm64 installation package.For
x86_64
, perform the following operation make judgment. -
Make judgment based on the glibc version.
getconf GNU_LIBC_VERSION
If the glibc version is 2.17 or earlier than 2.17, use the centos7 x86_64 installation package. Otherwise, use the openEuler x86_64 installation package.
Is gs_om Still Supported After a Database Is Installed Using PTK?
Yes. PTK-installed clusters are compatible with the gs_om tool, but do not support tools such as gs_upgrade, gs_expansino, gs_dropnode, and other tools that involve changes to the cluster structure.
Note:
gs_om
needs user SSH mutual-trust between nodes. After the database is installed using PTK, user SSH mutual-trust is generally established. If it is not established, you need to manually perform the establishment.
How Can I Query the MogDB Versions Supported by PTK?
You can run the ptk candidate db
command to query the MogDB versions supported by PTK.
How Can I Query the Operating Systems Supported by PTK?
You can run the ptk candidate os
command to query the operating systems supported by PTK.
Can I use PTK to install CM?
Yes. CM can be installed automatically by specifying the --install-cm
parameter when installing a database cluster.
Does PTK have to be on the same server as the database?
No. The PTK tool is a centralized multi-cluster management tool, so we prefer to recommend that PTK be installed independently on a single management server, with the database installed on a node within a database-specific server cluster.
If I create a new cluster by replicating a virtual machine, how do I change the IP to make PTK work?
For this case, we first need to handle it differently depending on how PTK is used:
1. PTK and clusters are controlled one-to-one
# Let's say there are two clusters, each managed using two PTKs
PTK(1) ---> Cluster1
PTK(2) ---> Cluster2
In this case, you can change the IP address by using PTK(2) to execute the following command:
ptk cluster -n <CLUSTER2> refresh --replace-ip <OLD_IP>=<NEW_IP>
2. PTK centralized control of multiple clusters
┌----> Cluster 1
PTK--┤
└----> Cluster 2
In this case, you can't replace the IP directly, if you execute refresh to replace the IP, it will cause PTK to change from controlling cluster 1
to controlling cluster 2
, and ptk ls
will not see cluster 1.
In this case, you need to copy the metadata of PTK to create the metadata of cluster 2:
cp -r `ptk env PTK_DATA_DIR`/<CLUSTERNAME1> `ptk env PTK_DATA_DIR`/<CLUSTERNAME2>
vim `ptk env PTK_DATA_DIR`/<CLUSTERNAME2>/topology.yml
# Modify cluster name and IP information
ptk cluster -n <CLUSTERNAME2> refresh
Common errors
What Can I Do If the Error "cmd init: ssh: setenv failed" Is Reported During Installation?
This error is reported because the sshd service on the target server does not support setting of the LANG environment variable during connection.
You need to perform the following command on the target server to update the sshd configuration file and then restart the sshd service.
sudo echo "AcceptEnv LANG LC_*" >> /etc/ssh/sshd_config && sudo systemctl restart sshd
What Can I Do If the Database Initialization Error "undefined symbol: EVP_KDF_ctrl" Is Reported?
The installation package is not matched with the host OS. This error typically occurs in the scenario where a CentOS 7 installation package is installed on a system with the high glibc version.
The solution is to replace the installation package with an openEuler package.
What Can I Do If the Error "can not combine with 'abrt-hook-ccpp'" Is Reported?
You can use the abrt(automatic bug report too) service agent to dump the core file. This may lead to core file loss or database downtime.
You can fix this bug by modifying the kernel.core_pattern
parameter.
# The value can be customized based on the actual requirement.
sysctl -w kernel.core_pattern=/var/log/coredump/%e.%p.%u.%t.core
What Should I Do If the Error FATAL: semctl(578486307, 7, SETVAL, 0) failed: Invalid argument
Is Reported?
You can check whether the value of RemoveIPC
in the /etc/systemd/logind.conf
directory is no
. If it is, restart the server.
What Should I Do If the Error fail to new sftp client: EOF
Is Reported?
This error means that PTK failed to create a sftp connection to the target machine. You can manually run sftp -vvv USER@HOST
on the machine where PTK is installed to see the error message in the debug log.
This problem is usually caused by a non-existent or inaccessible sftp-server file configured by Subsystem sftp
in the /etc/ssh/sshd_config
file on the target machine.