v2.0
- 关于PTK
- 快速入门
- 使用指南
- 使用参考
- 配置文件示例
- 命令介绍
- 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
- 故障排查
- FAQ
- 发布记录
- 社区
- 附录:YAML语法
接管节点
在某些特定场景下,PTK 可能无法感知到新节点的加入,进而无法对其进行管理。自 1.5.0 版本起,PTK 提供了接管节点的指令。
该指令的主要作用在于,当用户在 PTK 已有的集群中自行手动添加了一个节点,并完善了新节点与集群的关联关系后,此时 PTK 无法感知到新节点的加入,那么就需要使用 ptk cluster takeover
这个指令,将用户安装的新节点接管到 PTK 的元数据中,从而实现对该新节点的有效管理。
此外,也可以在创建了一个空集群之后,将非 PTK 安装的集群接管到空集群中,以便让 PTK 对其进行管理。
使用方法
当需要接管指定节点时,可执行以下命令:
ptk cluster -n <CLUSTER_NAME> takeover [-H|--host <IP>] [-U|--user <USERNAME>] [-i|--identity <IDENTITY FILE>] [--appdir <DIR>] [--datadir <DIR>] [--logdir <DIR>] [--tmpdir <DIR>] [--tooldir <DIR>]
[-H|--host <IP>]
:指定接管节点的主机,必填项。此参数明确了需要被接管的节点所在的主机 IP 地址。[-U|--user <USERNAME>]
:指定接管节点的用户,必填项。准确指定节点对应的用户,以便进行有效的连接和管理。[-i|--identity <IDENTITY FILE>]
:SSH 私钥路径。这有助于建立更安全的连接方式。[--appdir <DIR>]
:数据库的目录。[--datadir <DIR>]
:数据库的数据目录,明确数据存储的具体位置。[--logdir <DIR>]
:数据库的日志目录,用于存储相关日志信息。[--tmpdir <DIR>]
:数据库的临时目录,处理临时数据的存放区域。[--tooldir <DIR>]
:数据库的工具目录,涉及相关工具的存放位置。
需要注意的是,在 takeover
命令中仅有两个参数是必填项,其他参数可以根据实际情况选择是否填写。
PTK 会依据所填的用户和机器信息进行连接,并进而获取该机器下的数据库信息。
其中,当 -i|--identity
不填时,PTK 会以交互的方式指导用户输入密码或秘钥,以确保连接的安全性和可靠性。如下:
$ ptk cluster -n test takeover -U mog -H <IP>
Use the arrow keys to navigate: ↓ ↑ → ←
? [retry: 1] please choose the auth method for connecting mog@<IP>:
▸ password
keyfile
此时选择对应的方式进行填写即可。
此外,在实际应用中,用户需要确保所提供的信息准确无误,尤其是主机 IP 和用户信息,这将直接影响到接管操作的成功与否。
同时,若对于数据库相关目录进行填写,也需依据实际的部署情形进行合理填写,以确保数据库的正常运行与有效管理。若不填写,则如以下示例,PTK 会自动查出对应目录供用户进行确认。
以下是完整示例:
$ ptk cluster -n test takeover -U mog -H <IP>
✔ [retry: 1] please choose the auth method for connecting mog@<IP>: password
✔ please enter the password: *********
Information about the node (mog@1<IP>) to be takeover:
1 | appdir | /opt/mogdb-mog/app
2 | datadir | /opt/mogdb-mog/data
3 | logdir | /opt/mogdb-mog/log
4 | tmpdir | /opt/mogdb-mog/tmp
5 | tooldir | /opt/mogdb-mog/tool
6 | port | 23419
✔ Do you want to modify them (default=n) [y/n]: n
INFO[2024-06-13T17:08:17.033] update cluster_static_file success
INFO[2024-06-13T17:08:17.111] update metadata success
INFO[2024-06-13T17:08:17.111] takeover success
在接管过程中,PTK 会自动处理一些可能出现的异常情况,但用户仍需密切关注操作过程,以便及时发现和解决可能出现的问题。通过正确使用接管节点的指令,用户可以更加灵活地管理和扩展数据库集群,满足不同场景下的需求。