Command-line Control Programs
The command-line control programs, soss and geos, together give you the capabilities of the Management Console in the form of commands that can be entered at a console command prompt. The soss command-line program is used to manage a ScaleOut StateServer cluster, and the geos command-line program is used to manage the ScaleOut GeoServer option for either replicating data to a remote SOSS store or accessing data from a remote store.
soss Command
The command-line syntax for the soss command is as follows:
soss command [target] | [gwyspec] [set_options] | [backup_options] | [restore_options] | [auth_options] |
[prov_spec]
where the commands are:
queryGet the current status of the store and of all hosts. Also report the status of an ongoing backup or restore operation when the ALL parameter is supplied.
showShow the status and configuration information for the selected host or all hosts.
setSet configuration parameters for the selected host or all hosts.
set_cliSet configuration parameters for the remote client or for all local clients.
show_remcliShow remote client configuration parameters.
joinActivate the StateServer service for the selected host or all hosts. This causes the selected host(s) to join the store and accept a portion of the workload.
leaveDe-activate the StateServer service for the selected host or all hosts. This causes the selected host(s) to leave the store.
Note
It is important to allow a host to fully leave the store prior to shutting down the host or restarting the StateServer service. Otherwise, the host will abruptly leave the store, and other hosts will trigger recovery actions that further delay resumption of full storage throughput. In some cases, the distributed store can be destabilized, especially if multiple hosts are simultaneously stopped in this manner. Be sure to wait for the command to fully complete (indicated by an inactive status) prior to restarting the host. Use the leave_wait command instead of this command whenever possible.
join_waitActivate the StateServer service for the selected host or all hosts and wait for the host(s) to complete joining the store and report an active status. This command causes the selected host to join the store. The command times out after three minutes and reports failure if the host has not joined the store.
leave_waitDe-activate the StateServer service for the selected host or all hosts and wait for the host(s) to complete leaving the store and report an inactive status. This command causes the selected host to leave the store. The command times out after three minutes and reports failure if the host has not left the store.
restartRestart the StateServer service for the selected host or all hosts. This command first attempts to have the selected host leave the store and then restarts the service through the host’s Windows service control manager. If all hosts are selected, the StateServer service is immediately restarted on all hosts.
restart_nowImmediately restart the StateServer service for the selected host or all hosts. This restarts the service through the host’s Windows Service Control Manager.
Note
Do not restart more than one active host until recovery has been allowed to complete. The store’s recovery can require one or more minutes depending on the current storage load. Simultaneously restarting more than one host prior to awaiting complete recovery by the remaining hosts could cause data to be lost, and storage throughput could be affected for several minutes until recovery completes.
Note
On Windows, ScaleOut StateServer uses the Windows Service Control Manager (SCM) to restart the StateServer service. In some cases, the SCM may return an error when attempting to start the service. You can manually configure the SCM to restart the StateServer service as an automatic recovery action if the service fails. Please consult your Windows documentation for more information.
waitAwait and report status change on the selected host or all hosts. This causes the command-line control program to block execution until it is notified of a status change by the local StateServer service.
clearClear the store. This command removes all store objects on all reachable hosts. Do not use this command if some hosts are not reachable due to a network outage.
testTest the store. This command verifies client access to the store on all reachable, active hosts. Do not use this command if some hosts are joining, leaving, temporarily not ready, or not reachable due to a network outage.
show_region_mapShow store-wide region status map.
addAdd a gateway specification (gwyspec) that allows a remote client to access a remote SOSS store.
removeRemove a gateway specification (gwyspec) that allows a remote client to access a remote SOSS store.
populatePopulate the client configuration file with gateway specifications for all hosts reachable at the remote SOSS store.
backupBack up objects in the SOSS store to the file system.
restoreRestore objects from the file system to the SOSS store.
cancel_brCancel the ongoing backup or restore operation.
connectConnect the local host to a group of hosts.
create_groupCreate a new host group containing only the local host.
disconnectDisconnect the target host from its group of hosts.
set_ns_authSet namespace authorization methods.
clear_ns_authClear namespace authorization methods.
show_ns_authShow namespace authorization methods.
set_user_authSet user authorization methods. A namespace authorization method must be set before executing this command.
clear_user_authClear user authorization methods.
show_user_authShow user authorization methods.
show_loginsShow user logins.
force_reloginClear server login state, which forces clients to log out and then login again.
add_provAdd a store access provider’s configuration information for a specified store.
Each cloud provider has different parameters. Refer to the table below for the complete list of parameters:
Parameter
Amazon AWS
Google Cloud
Microsoft Azure
Param 1
Store Name
Store Name
Store Name
Param 2
public|public_secure|privatepublic|public_secure|privatepublic|public_secure|privateParam 3
awsgcpazureParam 4
Access Key
Path to Service Account Key File
Tenant Id (Directory Id)
Param 5
Secret Key
Google Cloud Zone
Application Id (Client Id)
Param 6
Availability Zone
Certificate Thumbprint
Param 7
nullnullremove_provRemove a store access provider’s configuration information.
selectSelect a store access provider for a specified store.
deselectDe-select a store access provider for a specified store.
gen_keypairGenerate a new keypair for encrypting connections.
show_dsShow hServer Hadoop cache datasets.
remove_dsRemove the specified Hadoop cache dataset or all datasets.
show_igShow a list of invocation grids by name and identifier.
remove_igRemove the specified invocation grid or all invocation grids.
add_notifyAdd a notify_config directive to the client parameters file.
rem_notifyRemove a notify_config directive from the client parameters file.
helpDisplay help information.
The target argument specifies the host to which a command should be
applied. The possible values are:
- (no value)
the local host
- <IP address>
a selected host’s IP address in dotted notation, e.g., 10.0.1.7
allall hosts (or any host for the wait command)
The gwyspec argument specifies the management port and a gateway on
the remote SOSS store to which a remote client should connect. This
argument takes the form:
<mgt_port>,<gateway_IP>,<gateway_port>
where the components are as follows:
<mgt_port>remote store’s management port
<gateway_IP>gateway IP address for a host in the remote store, specified in dotted notation, e.g., 10.0.1.7
<gateway_port>gateway server port for the remote host specified by <gateway_IP>
The components of a gateway specification provide sufficient information for a remote client to establish communications with a remote SOSS store. The remote store’s management port (which is common to all hosts in the remote store) and the gateway IP address and port must be reachable from the local server on which the Remote Client option is installed.
The set_options argument specifies a list of parameters and values
in the form parameter=value and separated by spaces, for example:
subnet_mask=255.255.255.0 svr_port=2121
The spelling of the parameter names is the same as that used in the parameters file and described in the section Configuration Parameters.
The set_cli command is used to set the client parameters described
in the sub-section Additional Parameters for the Remote Client Option
and Local Clients within
Configuration Parameters. Note that this command
does not have a target argument. Local client parameters are
automatically propagated to all servers within the SOSS store, and
remote client parameters are only updated on the remote client which
runs this command.
The backup_options argument specifies a list of parameters and
values for a backup operation in the form parameter=value and
separated by spaces; surrounding double quotes can be used to include
spaces within character strings. The allowed parameters are:
id: an identifier for the backup used within the file names; if omitted, a date and time stamp is automatically used; characters in the identifier must be alphanumeric characters or spaces;name: the cache name to be backed up; if omitted, all cache names are backed up; “redis-only” backs up only the Redis databasedef_name: if1ortrue, the default cache name (corresponding to application id 0) is backed up; if omitted or0orfalse, the default cache name is not backed up;path: the file path to the folder in which each SOSS host will create backup files; if omitted, the folder backup within the SOSS installation folder will be used;max_len: the maximum length in MB for each backup file; if omitted, all objects on each SOSS host will be stored in a single backup file.
The restore_options argument specifies a list of parameters and
values for a restore operation in the form parameter=value and
separated by spaces; surrounding double quotes can be used to include
spaces within character strings. The allowed parameters are:
id: an identifier for the backup files used within the file names; if omitted, all backup files in the target folder will be restored;name: the cache name to be restored; if omitted, all cache names are backed up;def_name: if1ortrue, the default cache name (corresponding to application id 0) is restored; if omitted or0orfalse, the default cache name is not restored;path: the file path to the folder in which each SOSS host will search for backup files; if omitted, the folder backup within the SOSS installation folder will be used;overwrite: if1ortrue, objects in the SOSS store will be overwritten if necessary; if omitted or0orfalse, objects will not be overwritten.
The auth_options argument specifies a list of parameters and values
for an authorization operation in the form parameter=value and
separated by spaces; surrounding double quotes can be used to include
spaces within character strings. Note that not all options apply to all
authorization commands. The allowed parameters are:
name: an identifier the specified namespace unless thedef_nameorglobal_nameparameters are used;def_name: if1ortrue, use the default namespace;global_name: if1ortrue, apply this command to global operations;all_names: apply ashow,clear, orforce_relogincommand to all names;user: user name (applies to user authorization commands); this parameter optionally can be specified for theshow_user_auth,force_reloginandshow_loginscommands;method: specifies the authorization method:defaultfor user-based authorization orcustomfor provider-based authorization; this is a required parameter for theset_ns_authcommand;path: path of authorization provider for provider-based authorization;permissions: when setting user-based authorization,rfor read-only access orrwfor read-write access; this is a required parameter when setting user-based authorization;timeout: when setting user authorization, timeout value in minutes (2 minutes to 45 days); default is 2 hours if this parameter is not specified;
The prov_spec argument specifies a store access provider’s
configuration information for a remote SOSS store to which a remote
client should connect. This argument takes the form:
<store>,public|public_secure|private,AWS|Azure,<param1>,<param2>,<param3>,<param4>
where the components are as follows:
<store>remote store’s name as specified when deployed
public|public_secure|privateuse the public vs. the private IP addresses to access the store. public_secure uses the public IP addresses with secure connections
AWS|Azureselect the store access provider for AWS vs. Azure
<param1>the first parameter (or “null”) for the store access provider
<param2>the second parameter (or “null”) for the store access provider
<param3>the third parameter (or “null”) for the store access provider
<param4>the fourth parameter (or “null”) for the store access provider
The provider specification contains provides sufficient information for a remote client to establish communications with a remote SOSS store running on a cloud provider. The parameters are specific to the cloud provider.
The add_notify argument consists of three components separated
by commas without spaces:
<remote_store_name>,<cache_name>,[0|1]
as described in the section Configuration Parameters. If the third component is omitted, the value 0 is assumed.
The rem_notify argument consists of two components:
<remote_store_name>,<cache_name>
Here are some examples of soss commands and their effect:
soss query allQueries the store’s status, the status of all hosts, and the status of any ongoing backup/restore operation.
soss show 10.0.1.7Shows the configuration parameters on host 10.0.1.7.
soss show_remcliShow remote client configuration, including remote gateways and/or store access providers.
soss set svr_port=721Sets the local host’s svr_port parameter to 721.
soss wait allWait for a status change on any host.
soss add 720,10.0.1.5,721Add a gateway specification for accessing a remote SOSS store.
soss set_cli max_lcl_retries=3Sets the max_lcl_retries parameter to 3 on all local hosts.
soss backupBacks up all objects to the backup folder within the SOSS installation folder on every SOSS host.
set_ns_auth name=ns1 method=defaultSpecifies that the
ns1namespace will use the default user-based authorization provider.set_user_auth name=ns1 user=bob permissions=rwSpecifies that user
bobis authorized to access thens1namespace for read-write access.clear_user_authname=ns1 user=bobRemoves user
bobfrom the user-based authorization list for thens1namespace.clear_ns_authname=ns1Removes the authorization provider from the
ns1namespace (allowing full read-write access to all users).show_logins all_names=trueShow logins for all namespaces.
soss add_prov myAWSStore,public,AWS,IAJCFT,mrMoGxRBFF,us-east-1,nullAdd configuration information for an AWS cloud access provider to connect to myAWSStore.
soss add_prov myAzureStore,public_secure,Azure,tenantId,appId,thumbprint,myAzureStoreAdd configuration information for a Microsoft Azure cloud access provider to connect to myAzureStore using a secure connection.
soss remove_prov myStoreRemove configuration information for myStore.
soss add_notify remStore,myCache,1Add a directive to configure the Java Named Cache client to use ScaleOut GeoServer Pro pull mode with the remote store remStore using the notify coherency policy for the named cache myCache; override configuration settings within the application’same code.
soss select myStoreSelect myStore’s cloud access provider to use when a remote client starts.
Note
Changing the network interface, subnet mask, multicast IP address, server port, or management port will cause the host’s StateServer service to be restarted. Restarting the StateServer service on the local host will temporarily interrupt management operations using the management console or the command-line control program.
geos Command
The command-line syntax for geos is as follows:
geos command [<name> | all | <remstore_args> | <gateway_args>]
where the commands are:
queryGet the current status of the selected remote store or all remote stores.
showShow the status and configuration information for the selected remote store or all remote stores.
startStart replication for the selected remote store or all remote stores.
syncStart replication for the selected remote store or all remote stores and copy all local objects to the remote store(s).
stopStop replication for the selected remote store or all remote stores.
testTest communications with the specified remote store to ensure that it is reachable. Note that all remote stores cannot be specified for this command.
add remstoreAdd a remote store described by <remstore_args> to the client configuration file. Once a remote store has been added, replication to the remote store can be started.
add gatewayAdd a gateway described by <gateway_args> to the client configuration file. Adding multiple gateways helps the local store to establish communications in case some of the remote store’s hosts are not active.
remove remstoreRemove a remote store described by <remstore_args> from the client configuration file. This command also removes all gateway addresses associated with the remote store.
remove gatewayRemove a gateway described by <gateway_args> from the client configuration file.
populate remstorePopulate the gateway list for a remote store described by <remstore_args> by contacting the remote store and obtaining a list of all active gateway hosts. The gateways are added to the client configuration file. This command is used to automatically add multiple gateways without manually entering each gateway address. It can also be used from time to time to discover new gateway addresses as hosts are added to the remote store.
setSet parameter for a specified remote store.
set_local_name nameSet the local store’s name for use in remote access (“pull”) operations.
show_local_nameShow the local store’s name which has been specified for use in remote access (“pull”) operations.
helpDisplay help information.
The <name> parameter specifies the local name for a remote store.
This name is used to identify the store in management commands after the
remote store’s access information has been added to the local client
parameters file. This parameter must be a string of printable
characters, for example, London, and the string cannot contain an
embedded comma.
The <remstore_args> argument specifies the remote store to which a
command should be applied. This argument takes the form:
<name>,[<access_mode>,]<mgt_port>,<gateway_IP>,<gateway_port>
where the components are as follows:
<name>string corresponding to a local name for the remote store, for example, London
<access_mode>access mode for a remote store:
pushorpull; (default is push if not specified)<mgt_port>remote store’s management port
<gateway_IP>gateway IP address for a host in the remote store, specified in dotted notation, e.g., 10.0.1.7
<gateway_port>gateway server port for the remote host specified by
<gateway_IP>
The components of a remote store specification provide sufficient information for ScaleOut StateServer to establish communications with it. The remote store’s management port (which is common to all hosts in the remote store) and the gateway IP address and port must be reachable from the local SOSS store.
The <gateway_args> argument specifies a gateway address on a remote
store. This argument takes the form:
<gateway_IP>,<gateway_port>
where the components are as follows:
<gateway_IP>gateway IP address for a host in the remote store, specified in dotted notation, e.g., 10.0.1.7
<gateway_port>gateway server port for the remote host specified by
<gateway_IP>
These components provide sufficient information for ScaleOut StateServer to establish communications with a gateway host at the remote store, and they must be reachable from the local SOSS store. Associating multiple gateway addresses with a remote store ensures that the local store can establish communications to start data replication even if some of the hosts at the remote store are not active.
Note
Gateway addresses (i.e., IP address and port pairs) for all remote stores must be unique. It is permissible to use either the same IP address or port in two gateway addresses, but the combination must be unique.
The set command’s parameters are:
auto_start: Automatically start replication to the specified remote store when the local store starts; values are 0 (do not auto-start) and 1 (auto-start).use_secure_conn: Use secure connections when connecting to the specified remote store; values are 0 (do not use secure connections) and 1 (use secure connections).Note
When using secure connections, the remote store must be configured to accept secure connections.
conn_timeout: Set a connection timeout when connecting to a remote store, reading, or writing an established TCP connection. This parameter is an integer multiple of 500 msec. with a minimum value of 1, maximum of 64, and default of 4 (2 seconds).
Here are some examples of possible commands and their effect:
geos query LondonQueries the status of remote store London.
geos query allQueries the status of all remote stores.
geos show LondonShows the status and configuration parameters for remote store London.
geos add remstore London,720,10.0.1.4,721Add a remote store in push mode with management port 720, gateway address 10.0.1.4, and gateway server port 721.
geos add remstore Paris,pull,720,10.0.1.4,721Add a remote store in pull mode with management port 720, gateway address 10.0.1.4, and gateway server port 721.
geos add gateway London,10.0.1.5,721Add a gateway to remote store London with gateway address 10.0.1.5 and gateway server port 721.
geos start allStart replication to all remote stores.
geos remove remstore LondonRemove remote store London.