You are viewing an older version of this section. View current production version.
Join the MemSQL Community Today
Get expert advice, develop skills, and connect with others.

Install MemSQL Tools

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. And 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.

  1. 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
    
  2. Verify that the MemSQL repo information is listed under repolist.

    sudo yum repolist
    
  3. 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 install which, you will have to specify the correct package during the deployment phase covered in Deploy MemSQL.

    sudo yum install -y which
    
  4. 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-server

Copy 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.

  1. 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
    
  2. Verify you have apt-transport-https installed. The apt-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
    
  3. 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
    
  4. 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-server

Then 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.