Scroll to navigation

4S-ADMIN(1J) 1J (4store) 4S-ADMIN(1J)

NAME

4s-admin4store cluster management tool

SYNOPSIS

4s-admin [--verbose] command [args]


4s-admin list-nodes

4s-admin list-stores

4s-admin start-stores [-a | --all] [store_name ...]

4s-admin stop-stores [-a | --all] [store_name ...]

4s-admin delete-stores store_name ...

4s-admin create-store [create_options ...] store_name

4s-admin [--version] [--help]

DESCRIPTION

The 4s-admin utility enables a 4store cluster (or single host) to be managed through a number of supported commands. Commands available are list-nodes, , , , . Details on individual commands are below:

Command: list-nodes

Prints a list of all nodes in their cluster, and their status. Output contains:
node_number - starting at 0, the numbered index of a node in a cluster
hostname - name of the cluster node
port - the port that 4s-boss is running on
status - whether 4s-boss on that node is reachable or not
ip_address - IPv4 or IPv6 address of the node

Command: list-stores

Prints a list of all stores found on the cluster, along with their status. The output will contain:
store_name - name of the store
store_status - whether the store is usable or not
backend_status - status of the 4s-backend processes the store uses

options:

Will show status of each backend on each node separately, rather than by store.

The store_status will either be 'available' or 'unavailable'. If a store is available, then it means that all necessary backend processes are running on the cluster, and the store can be used with 4s-httpd, 4s-query, and 4s-import. If a store is not available, the 'backend_status' will list the reason why.

If a backend is listed as 'stopped', it means that the 4s-backend process for a store is definitely stopped on one or more nodes of a cluster. If it is listed as 'unknown', this means that 4s-admin was unable to determine the state of the backend process.

Command: start-stores, stop-stores

Starts or stops one or more stores on the cluster.

options:

--all
Starts or stops all stores on the cluster.

If the -a or --all option isn't present, then a space separated list of store names to start or stop should be given.

Each node is asked in turn to start or stop the 4s-backend process stores given.

For each node, this command will print:
node_number - starting at 0, the numbered index of a node in a cluster
hostname - name of the cluster node

For each 4s-backend process on the node, it will print:
store_name - name of the store
backend_status - whether 4s-backend is now stopped or running

The backend_status will be one of 'stopped', 'running', or 'unknown'.

If start-stores is called for an already running store, or a stop-stores for an already stopped store, then each node will take no action, but the status of the backend will be printed.

Command: delete-stores

Deletes one or more stores from a cluster.

Accepts a space separated list of stores to delete as arguments.

Establishes a connection to all nodes of the cluster, stops a store if it is running, then deletes that store.

Command: create-store

Creates a new store on one or more cluster nodes.

options:

node_id_list
Comma separated list of numerical node numbers to create the store on. Default is all nodes. Use 4s-admin list-nodes for a list of available nodes.
num_segments
Total number of segments to be split across all nodes, must be a power of 2. Default is 2 per node (rounded to nearest power of 2).
--mirror
Enable mirroring of segments.
password
Set a password for authentication.
Use a file per model, useful for large models.
If a store with the same name already exists, delete it and recreate.

All of the above are optional, and the only required argument is the name of the store to create.

Each node is asked in turn to create the store. If any of the nodes fail to create a store, store creation is aborted, and any segments already created will be deleted.

Existing stores won't be deleted unless the Fl -force option is given.

Configuration file options

nodes = <node_list>
Semicolon separated list of hosts in the cluster.

Options for 4s-admin in /etc/4store.conf should all be within the [4s-boss] section, or will be ignored.

See 4store.conf(5) for details on how to specify a cluster.

General Usage

When any 4s-admin command is called, it first reads /etc/4store.conf to determine the hostnames of nodes in the cluster. It will then attempt to communicate with the 4s-boss(8) daemon running on that node (running on port 6733 by default).

Running the list-nodes command is the simplest way of checking that all nodes are reachable over the network, and the 4s-boss on each is responding.

FILES

/etc/4store.conf
Main 4store configuration file, used to determine which hosts are in the cluster.

EXIT STATUS

The 4s-admin utility exits 0 on success, and >0 if an error occurs.

EXAMPLES

Stop all stores on the cluster:

$ 4s-admin stop-stores --all

Start the stores "foo" and "bar":

$ 4s-admin start-stores foo bar

Delete stores "kb1", "kb2", and "kb3":

$ 4s-admin delete-stores kb1 kb2 kb3

Create store with 32 segments on 1st and 3rd nodes of cluster:

$ 4s-admin create-store --nodes=0,2 --segments=32 kb1

SEE ALSO

4store.conf(5), 4s-boss(8)

AUTHORS

Dave Challis ⟨suicas@gmail.com⟩.

SECURITY CONSIDERATIONS

4s-admin should not be run as root, use a non-privileged account instead.

Since it can request that any nodes of a cluster start/stop/delete stores, only trusted users should be able to run 4s-admin, or send packets to 4s-boss on cluster nodes.

11 October, 2011 4store