Before installing the tools, it is important to understand how the MemSQL tools operate and what they expect to run a cluster.
The MemSQL database engine itself is a process called memsqld
. It, along with the lower-level management tool memsqlctl
, are part of the memsql-server
package and must be installed on every host that you will use in your cluster. The memsqlctl
tool allows you to interact with the local memsqld
process through a standard command-line interface.
Enabling high-availability, creating nodes, adding leaves and aggregators are all operations that memsqlctl
can do on your behalf. By design, memsqlctl
is scoped to the local host, that is, memsqlctl
commands are only applicable to the nodes that currently reside on the host that memsqlctl
and memsqld
are installed on.
To install and manage nodes across a cluster, the management tools in memsql-toolbox
(memsql-toolbox-config
, memsql-admin
, memsql-deploy
) should be used. With SSH credentials (provided either implicitly or explicitly), they remotely manage, deploy, and install memsqlctl
and memsqld
remotely on other hosts. Once memsqlctl
and memsqld
are installed on a host, cluster-level commands can be issued through memsql-admin
, which are remotely executed on a target host through the corresponding memsqlctl
command.
Given the context above, the memsqlctl
tool needs to be run by a specific Linux user on each host. When deploying MemSQL through either the APT or YUM packages, you must have a non-root user with sudo
privileges installed on each host to install the memsql-toolbox
and memsql-server
packages. The install process for these packages creates a memsql
user that belongs to the memsql
group on each host. The memsql
user is then used to run memsqlctl
commands.
Now that you have a high-level understanding of the MemSQL tools and how they are used together, download and install them on a host in your cluster. This host will be designated as the main deployment host for deploying MemSQL across your other hosts and setting up your cluster.
Online Installation
For online installations where you can access the MemSQL YUM repository, run the following steps.
-
Add the MemSQL repository to your repository list.
sudo yum-config-manager --add-repo https://release.memsql.com/production/rpm/x86_64/repodata/memsql.repo
-
Verify that the MemSQL repo information is listed under
repolist
.sudo yum repolist
-
Verify you have the
which
package installed. This is used during the install process to identify the correct package type for your installation.rpm -q which
If
which
is not installed, you must install it before proceeding. If you cannot installwhich
, you will have to specify the correct package during the deployment phase covered in Deploy MemSQL.sudo yum install -y which
-
Install MemSQL’s client application, management tools, and MemSQL Studio.
sudo yum install -y memsql-client memsql-toolbox memsql-studio
Offline Installation
For clusters that must be deployed in an environment without Internet access, download the following MemSQL packages onto a device with access to the main deployment host.
memsql-client memsql-toolbox memsql-studio memsql-serverCopy the memsql-client
, memsql-toolbox
, and memsql-studio
packages onto the main deployment host and install them using rpm
.
sudo rpm -ivh /tmp/memsql-client-<version>.x86_64.rpm
sudo rpm -ivh /tmp/memsql-toolbox-<version>.x86_64.rpm
sudo rpm -ivh /tmp/memsql-studio-<version>.x86_64.rpm
You do not need to install the memsql-server
package in this step. It will be installed as part of deployment, which is shown in the next step.
Online Installation
For online installations where you can access the MemSQL APT repository, run the following steps.
-
MemSQL packages are signed to ensure integrity, so the GPG key needs to be added to this host. When done, verify that the MemSQL signing key has been added using
apt-key list
.wget -O - 'https://release.memsql.com/release-aug2018.gpg' 2>/dev/null | sudo apt-key add - && apt-key list
-
Verify you have
apt-transport-https
installed. Theapt-transport-https
package is used to download packages from the MemSQL package repository.apt-cache policy apt-transport-https
If
apt-transport-https
is not installed, you must install it before proceeding.sudo apt -y install apt-transport-https
-
Add the MemSQL repository to retrieve its packages.
echo "deb [arch=amd64] https://release.memsql.com/production/debian memsql main" | sudo tee /etc/apt/sources.list.d/memsql.list
-
After verifying the MemSQL repo information is listed in the output, MemSQL’s client application, management tools, and MemSQL Studio will be installed.
sudo apt update && sudo apt -y install memsql-client memsql-toolbox memsql-studio
Offline Installation
For clusters that must be deployed in an environment without Internet access, download the following MemSQL packages onto a device with access to the main deployment host.
memsql-client memsql-toolbox memsql-studio memsql-serverThen copy the memsql-client
, memsql-toolbox
, and memsql-studio
packages onto the main deployment host and install them using dpkg
.
sudo dpkg -i memsql-client_<version>_amd64.deb
sudo dpkg -i memsql-toolbox_<version>_amd64.deb
sudo dpkg -i memsql-studio_<version>_amd64.deb
You do not need to install the memsql-server
package in this step. It will be installed as part of deployment, which is shown in the next step.