CLI tools

CrateDB ships with command-line interface (CLI) tools (also referred to as executables) in the bin directory.

If your working directory is CRATE_HOME, you can run an executable like this:

sh$ bin/crate

Otherwise, you can run:

sh$ <PATH_TO_CRATE_HOME>/bin/crate

Here, replace <PATH_TO_CRATE_HOME> with a path to CRATE_HOME.

Alternatively, if the CrateDB bin directory is on your PATH, you can run an executable directly:

sh$ crate

Table of contents

crate

The crate executable runs the CrateDB daemon.

See also

This section is a low-level command reference. For help installing CrateDB for the first time, check out the CrateDB installation tutorial. Alternatively, consult the deployment guide for help running CrateDB in production.

Synopsis

sh$ bin/crate [-dhvCDX] [-p <PID_FILE>]

Options

Option

Description

-h

Print usage information

-v

Print version information

-C

Set a CrateDB configuration value (overrides configuration file)

-D

Set a Java system property value

-X

Set a nonstandard java option

Signal handling

The CrateDB process can handle the following signals.

Signal

Description

TERM

Terminates the process

INT

Terminates the process

Tip

The TERM signal stops CrateDB immediately. As a result, pending requests may fail. To ensure that CrateDB finishes handling pending requests before the node is stopped, you can, instead, perform a graceful stop with the DECOMMISSION statement.

Example

The simplest way to start a CrateDB instance is to invoke crate without parameters:

sh$ bin/crate

This command starts the process in the foreground.

It’s helpful to write the process ID (PID) to a PID file with the use of echo $!. So you execute the following:

sh$ bin/crate & echo $! > "/tmp/crate.pid"

To stop the process, send a TERM signal using the PID file, like so:

sh$ kill -TERM `cat /tmp/crate.pid`

crate-node

The crate-node executable is a tool that can help you:

See also

This section is a low-level command reference. For help using crate-node, consult the troubleshooting guide.

Synopsis

sh$ bin/crate-node repurpose|unsafe-bootstrap|detach-cluster
[--ordinal <INT>] [-C<key>=<value>]
[-h, --help] ([-s, --silent] | [-v, --verbose])

Commands

Command

Description

repurpose

Clean up any unnecessary data on disk after changing the role of a node.

unsafe-bootstrap

Force the election of a master and create a new cluster in the event of losing the majority of master-eligible nodes.

detach-cluster

Detach a node from a cluster so that it can join a new one.

remove-settings

Remove persistent settings from the cluster state in case where it contains incompatible settings that prevent the cluster from forming.

override-version

Override the version number stored in the data path to be able to force a node to startup even when the node version is not compatible with the meta data.

fix-metadata

Fix corrupted metadata after running table swap like: ALTER CLUSTER SWAP TABLE “schema”.”table” TO “schema.table”;

Options

Option

Description

--ordinal <INT>

Specify which node to target if there is more than one node sharing a data path

-C

Set a CrateDB configuration value (overrides configuration file)

-h, --help

Return all of the command parameters

-s, --silent

Show minimal output

-v, --verbose

Shows verbose output