hawq filespace
Creates a filespace using a configuration file that defines a file system location. Filespaces describe the physical file system resources to be used by a tablespace.
Synopsis
hawq filespace [<connection_options>]
-o <output_directory_name> | --output <output_directory_name>
[-l <logfile_directory> | --logdir <logfile_directory>]
hawq filespace [<connection_options]
-c <fs_config_file> | --config <fs_config_file>
[-l <logfile_directory> | --logdir <logfile_directory>]
hawq filespace [<connection_options>]
--movefilespace <filespace> --location <dfslocation>
[-l <logfile_directory> | --logdir <logfile_directory>]
hawq filespace -v | --version
hawq filespace -? | --help
where:
<connection_options> =
[-h <host> | --host <host>]
[-p <port> | -- port <port>]
[-U <username> | --username <username>]
[-W | --password]
Description
A tablespace requires a file system location to store its database files. This file system location for all components in a HAWQ system is referred to as a filespace. Once a filespace is defined, it can be used by one or more tablespaces.
The --movefilespace
option allows you to relocate a filespace and its components within a dfs file system.
When used with the -o
option, the hawq filespace
utility looks up your system configuration information in the system catalog tables and prompts you for the appropriate file system location needed to create the filespace. It then outputs a configuration file that can be used to create a filespace. If a file name is not specified, a hawqfilespace_config_
# file will be created in the current directory by default.
Once you have a configuration file, you can run hawq filespace
with the -c
option to create the filespace in HAWQ system.
Note: If segments are down due to a power or nic failure, you may see inconsistencies during filespace creation. You may not be able to bring up the cluster.
Options
hawq filespace
command. You will specify the number of replicas to create. The default is 3 replicas. After the utility creates the configuration file, you can manually edit the file to make any required changes to the filespace layout before creating the filespace in HAWQ.An initial line denoting the new filespace name. For example:
filespace:<myfs>
~/hawqAdminLogs
.<connection_options>
PGHOST
or defaults to localhost.PGPORT
or defaults to 5432.PGUSER
or defaults to the current system user name. Only database superusers are allowed to create filespaces.Example 1
Create a filespace configuration file. Depending on your system setup, you may need to specify the host and port. You will be prompted to enter a name for the filespace and a replica number. You will then be asked for the DFS location. The file system locations must exist on all hosts in your system prior to running the hawq filespace
command:
$ hawq filespace -o .
Enter a name for this filespace
> fastdisk
Enter replica num for filespace. If 0, default replica num is used (default=3)
0
Please specify the DFS location for the filespace (for example: localhost:9000/fs)
location> localhost:9000/hawqfs
20160203:11:35:42:272716 hawqfilespace:localhost:gpadmin-[INFO]:-[created]
20160203:11:35:42:272716 hawqfilespace:localhost:gpadmin-[INFO]:-
To add this filespace to the database please run the command:
hawqfilespace --config ./hawqfilespace_config_20160203_112711
Checking your configuration:
Your system has 1 hosts with 2 primary segments
per host.
Configuring hosts: [sdw1, sdw2]
Enter a file system location for the master:
master location> /hawq_master_filespc
Example filespace configuration file:
filespace:fastdisk
mdw:1:/hawq_master_filespc/gp-1
sdw1:2:/hawq_pri_filespc/gp0
sdw2:3:/hawq_pri_filespc/gp1
Execute the configuration file to create the filespace:
$ hawq filespace --config hawq_filespace_config_1
Example 2
Create the filespace at cdbfast_fs_a
and move an hdfs filesystem to it:
$ hawq filespace --movefilespace=cdbfast_fs_a
--location=hdfs://gphd-cluster/cdbfast_fs_a/