Install ADCM

ADCM requires a separate host. Before installing ADCM, we recommend to read its documentation.

The installation steps are listed below.

Step 1. Check prerequisites

Software and hardware requirements

ADCM is a software that is distributed in the form of a Docker Image. To install it, you need:

  • A maintained version of the CentOS 7/RHEL 7/Alt Linux SP 8 operating system. Archived versions are not supported or tested.

  • A user account with sudo privileges.

  • An access to the official repository of CentOS Extras and CentOS Base. This repository is enabled by default, but if you have disabled it — you need to re-enable it (e.g. via editing the repository configuration file in the /etc/yum.repos.d/ directory).

  • The software package installer YUM/APT.

  • The hardware that meets the following conditions.

    IMPORTANT

    The following system requirements are minimal. The target sizing should be calculated based on the customer requirements.

    • CPU: 4 CPU cores;

    • RAM: 16 GB;

    • HDD: 50 GB.

Also before starting the installation, you need to edit the /etc/sudoers file so that ADCM users will have the necessary rights afterwards. To do this, run the command:

$ sudo vi /etc/sudoers

In this file you need to remove the # character at the beginning of the line WHEEL_USERS ALL=(ALL) ALL. To save this change and return to the terminal, press Esc, then type :wq, or :wq!.

Install Docker

CAUTION

Do not install Docker from the official Docker site. Instead of it, use the official repositories of your Linux distribution. The repositories provided by operating system developers tend to be more stable and secure.

Depending on the operating system and package manager you use, the installation sequence includes the following steps:

  • YUM

  • APT

  1. Using root privileges, update all packages that are currently installed in your system:

    $ sudo yum update -y
  2. Install the packages required for Docker installation and using:

    $ sudo yum install -y yum-utils docker device-mapper-persistent-data lvm2
  3. Start Docker:

    $ sudo systemctl start docker
  4. Enable Docker as a system service:

    $ sudo systemctl enable docker
  1. Using root privileges, update all packages that are currently installed in your system:

    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
  2. Install the packages required for Docker installation and using:

    $ sudo apt-get install docker-engine
  3. Start Docker:

    $ sudo systemctl start docker
  4. Enable Docker as a system service:

    $ sudo systemctl enable docker

Disable SELinux (optionally)

To disable SELinux permanently, set SELINUX=disabled in the /etc/selinux/config file and reboot your system.

You can edit the file via the vi or vim command:

$ sudo vi /etc/selinux/config

The content of the changed file should look like this:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

You can also disable SELinux temporarily via the following command:

$ sudo setenforce 0

Still, it is strongly recommended to disable SELinux permanently, so that it does not restart on each system reboot.

CAUTION

Do not forget to reboot your host after SELinux is disabled.

Stop firewall

If you use the firewalld service — please, stop it before installing ADCM. You can use this command:

$ sudo systemctl stop firewalld

As an alternative, you can disable the firewalld service, so that it will not apply rules to network packets:

$ sudo systemctl disable firewalld

Allow access to the Docker CLI without root privileges

If in the future you want to access the Docker CLI without using root privileges, you should create a docker user group (if it does not exist) and add the current user to this group with the certain rights:

$ sudo groupadd docker
$ sudo usermod -a -G docker $USER

After running these commands, you should re-login under the current user.

Step 2. Install ADCM

Offline installing of ADCM includes the following steps:

  1. Get a special installation shell script from the Arenadata support team.

  2. Make a directory on the host, where ADCM should be deployed, and put the script into it.

  3. Run the script from the created directory, using the following command:

    $ sudo bash <script_name> master_adcm

     — where <script_name> means the full script name with an extension (for example, pack.sh).

NOTE

Offline installing takes some time. Please, wait until it is completed. The result should look like this:

Loaded image: hub.arenadata.io/adcm/adcm:latest
e97f2afb04e568386b2755ef8b1d245eb2abfab77c2a402f736e0c1cd99e7b11
adcm

Step 3. Start ADCM

ADCM is just a container operated by Docker. So you are able to use simple Docker commands to start and stop ADCM:

  • To start ADCM, use the following command.

    $ sudo docker start adcm
  • To stop ADCM, use the following command.

    $ sudo docker stop adcm
  • In order to provide the automatic start of the Docker container after unexpected errors, use the following command.

    $ sudo docker update --restart=on-failure adcm
NOTE
  • For more information about Docker restart policies, refer to the Docker documentation.

  • If you allowed your user to access the Docker CLI without root privileges, then you can omit the sudo keyword from the commands listed above.

  • If you want to use ADCM with an external database, see Configure ADCM to use an external database.

Step 4. Check installation

Check the Docker container status

To make sure that the Docker container adcm is successfully deployed, run the following command.

$ sudo docker container ls

The result is listed below. Make sure that the STATUS value is equal to Up.

CONTAINER ID        IMAGE                               COMMAND             CREATED             STATUS              PORTS                    NAMES
74b5628146e5        hub.arenadata.io/adcm/adcm:latest   "/etc/startup.sh"   4 days ago          Up 21 minutes       0.0.0.0:8000->8000/tcp   adcm

Check the 8000 port availability

After ADCM is installed and started, its web interface should become available on the 8000 port of the deployed container. You can check it using these commands:

  • The netstat command — to display information about port listening.

    $ sudo netstat -ntpl | grep 8000

    The output data should look like this:

    tcp6       0      0 :::8000                 :::*                    LISTEN                                             1514/docker-proxy-c
  • The curl command — to check the URL connection.

    $ curl http://localhost:8000

    The output data should look like this:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Arenadata Cluster Manager</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="assets/favicon.ico">
    <link rel="stylesheet" href="styles.10db6328264e0907c52f.css"></head>
    <body>
      <app-root></app-root>
    <script src="runtime-es2015.7eb406ed18bf0258cd35.js" type="module"></script><script src="runtime-es5.7eb406ed18bf0258cd35.js" nomodule defer></script><script src="polyfills-es5.2e224d70daec4412d3c2.js" nomodule defer></script><script src="polyfills-es2015.37e0553ac06970d6a5b5.js" type="module"></script><script src="main-es2015.39851da0ebf9ed6fec45.js" type="module"></script><script src="main-es5.39851da0ebf9ed6fec45.js" nomodule defer></script></body>
    </html>

Check the ADCM web-interface

To log in to ADCM, you should use the user with administrator rights that is created by default:

  • Login: admin

  • Password: admin

adcm install 02
Log in to ADCM

Later you can change the password, if necessary. To do this:

  1. Open the account menu in the top right corner of the screen.

  2. Click the Profile list item in the account menu.

  3. In the window that opens, change the password and confirm it.

  4. Click Save.

    adcm install 06
    Changing the admin password

Check the ADCM URL

If the ADCM container ends up on the network using NAT, it makes impossible the automatic determining the address of the ADCM container that is used by clusters components for sending information about their state to ADCM.

In this and other cases of complicated network structures, you may need to specify the ADCM URL manually. To do this:

  1. Open the account menu in the top right corner of the screen.

  2. Click the Settings list item in the account menu.

  3. Select the Settings tab.

  4. Check the correctness of the automatically determined URL in the ADCM’s URL field and replace it with a valid one, if necessary.

    adcm install 01
    Checking the ADCM URL
  5. Click Save.

    adcm install 04
    Saving the ADCM URL

Step 5. Update ADCM

If you need to upgrade the previously installed version of ADCM, do the following:

  1. Stop the adcm container.

    $ sudo docker stop adcm
  2. Remove the adcm container.

    $ sudo docker container rm adcm
  3. Download from the Arenadata Docker Registry the Docker Image that you need.

    $ sudo docker pull hub.arenadata.io/adcm/adcm:latest
  4. Create a new container based on the uploaded image.

    $ sudo docker create --name adcm -p 8000:8000 -v /opt/adcm:/adcm/data hub.arenadata.io/adcm/adcm:latest
  5. Start the new adcm container.

    $ sudo docker start adcm
IMPORTANT
If you use ADCM with an external database, the container must be run with the appropriate environment variables.
Found a mistake? Seleсt text and press Ctrl+Enter to report it