Hello GPDB Community,
As part of improving user experience when managing the greenplum cluster, we are planning to write utilities for cluster management in GoLang. Current plan is to have single command with sub-commands to manage the cluster (instead of separate command/utility for each operation like gpinitsystem, gpstart and …).
The thought is to have gp_ctl utility (GP Control Utility like pg_ctl) which can be used for tasks such as initialization of cluster, starting/stopping cluster, checking the state and perform recovery.
We will implement the functionality in phases, starting with cluster initialization. The new syntax for utility, planning to provide alongside current utilities and not as replacement for GPDB7.
Convention used for the utility:
command sub-command [object] [flags/options/arguments]
Note: object in this case refers to cluster to operate on which will be specified using data directory path.
Some examples:
gpctl version: prints utility version
gpctl help: prints general help message and supported options
gpctl start
gpctl stop
gpctl expand
For gpctl init following will be the options:
gpctl init <input-file>: Creates cluster from the provided input configuration. On error, stops execution at first failure. The input file will be self-sustained and contain all the information required to create the cluster.
If wish to change any configuration from previous run, then can provided modified input-file – it will result in deleting previous incomplete/failed installation and start fresh installation. gpctl init: Resumes execution if was interrupted in previous runs. Will use the parameter and inputs from the last saved run
gpctl init status: Shows configuration used and status of last execution – COMPLETED, FAILED (then at what step in state machine)
gpctl init help: prints cluster initialization help
gpctl init cleanup: clears all data from previous run from all hosts. If no data is available, prints no previous run data available
Will be having separate discussion on input-file format for initializing the cluster and design for the same.
Thoughts?
Thanks & Regards,
Piyush
Hello GPDB Community,
As part of improving user experience when managing the Greenplum cluster, we are planning to write utilities for cluster management in GoLang. Current plan is to have single command with sub-commands to manage the cluster (instead of separate command/utility
for each operation like gpinitsystem, gpstart and …).
Regards,
Piyush
Hi! Interesting idea, I appreciate your efforts. Having a single utility to manage the whole cluster seems meaningful, but I'm not sure. Speaking of PostgreSQL, in PostgreSQL, there are pg_ctl and initdb are separate utilities, and probably for a reason.
But anyway, curious to see how it will work! Will development be open source?
!! External Email
|
!! External Email: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.
|