Starting the System
Bare Metal System Start
The start
command starts LeanXcale:
unix$ lx start start... atlantis [ cfgile: /ssd/leandata/xamplelx/lib/lxinst.conf... bin/spread -c lib/spread.conf ... forked bin/spread... bin/spread: started pid 1056053 bin/kvms -D 192.168.1.224!9999 /ssd/leandata/xamplelx/disk/kvms100/kvmeta ... forked bin/kvms... ... ] atlantis [ kvds103 pid 1056084 alive kvms100 pid 1056057 alive spread pid 1056053 alive kvds102 pid 1056075 alive kvds100 pid 1056062 alive kvds101 pid 1056066 alive ] unix$
Here, atlantis
started a few processes and, once done, the start
command checked out if the processes are indeed alive.
In case not all components can be started successfully, the whole LeanXcale system is halted by the start command.
To start a single host or component, use its name as an argument, like in:
# start the given host unix$ lx start atlantis # start the named components unix$ lx start kvds # start the named components at the given host unix$ lx start atlantis kvds
Start does not wait for the system to be operational. To wait until the
system is ready to handle SQL commands, the status
command can be
used with the -w
(wait for status) flag, as in:
unix$ lx status -w running status: running
Without the -w
flag, the command prints the current status, which
can be stopped, failed, running, or waiting.
Docker System Start
To start LeanXcale installed on Docker containers, you must start the containers holding the installed system components.
For example, consider the default docker install
unix$ lxinst docker ... install done docker images: REPOSITORY TAG IMAGE ID CREATED SIZE uxbase 2 7c8262008dac 3 months ago 1.07GB lx 2 cafd60d35886 3 seconds ago 2.62GB docker network: NETWORK ID NAME DRIVER SCOPE a8628b163a21 lxnet bridge local to start: docker run -dit --name lx1 --network lxnet lx:2 lx1
The install process created a docker image named lx:2
, installed for the docker
host lx1
, and the docker network lxnet
.
To list the image we can
unix$ docker images lx REPOSITORY TAG IMAGE ID CREATED SIZE lx 2 75b8c9ffa245 About a minute ago 2.62GB
And, to list the networks
unix$ docker network ls NETWORK ID NAME DRIVER SCOPE a8628b163a21 lxnet bridge local
The created image is a single one for all containers. The name given when creating the container determines the host name used The install process specified the host names, and containers must be starte using the corresponding host name(s), so they know which leanXcale host they are for.
For example, to start the container for lx1
:
unix$ docker run -dit --name lx1 --network lxnet -p0.0.0.0:14420:14420 lx:2 lx1 b28d30702b80028f8280ed6c55297b2e203540387d3b4cfbd52bc78229593e27
In this command, the container name is lx1
, the network used
lxnext
, and the image used lx:2
. The port redirection -p…
exports the SQL port to the underlying host.
Listing docker processes shows now the running container
unix$ docker ps CONTAINER ID IMAGE COMMAND STATUS PORTS NAMES e81d9d01f40a lx:2 "/bin/lxinit lx1" Up 56 seconds 14410 lx1
It is important to know that:
-
starting the container will start leanXcale if a valid license was installed;
-
stopping the container should be done after stopping leanxcale in it.
The container name (lx1
) can be used to issue commands. For example,
unix$ docker exec -it lx1 lx version leanXcale v2.1 unstable kv v2.1.2.14-02-15.c26f496706918e610831c02e99da3676a1cffa47 lxhibernate v2.1.2.14-02-07.f65c5a628afede27c15c77df6fbbccd6d781d3ee TM v2.1.2.14-02-06.bfc9f92216481dd05f51900ac522e5ccfb6d2555 QE v2.1.2.14-02-15.4a8ff4200dc3d3656c8469b6f74c05a296fbdfb3 avatica v2.1.2.14-02-14.1c442ac9e630957ace3fdb5c4faf92bb85510099 ...
executes lx version
on the lx1
container.
The status for the system can be seen in a similar way:
unix$ docker exec -it lx1 lx status status: running
Note that the container will not start the DB if no valid license is found.
AWS System Start
To start LeanXcale installed on AWS, you must start the AWS instances holding the installed system components.
Once started, the lx
command is available at any of the installed system
instances.
For example, after statring xample.aws.leanxcale.com
, and provided the
PEM file can be found at xample.pem, we can run this:
unix$ ssh -i xample.pem xample.aws.leanxcale.com lx version
to see the installed version.