Set Up the Database for HA

The database layer Moogsoft AIOps for HA uses the Percona XtraDB Cluster mechanism.

HA architecture

In our distributed HA installation, the database components are installed on servers DB 1, DB 2, and DB 3:

4_-_Database_for_HA.png

Refer to the Distributed HA system Firewall for more information on connectivity within a fully distributed HA architecture.

Build a Percona cluster

The sections below detail how to build a Percona XtraDB cluster.

Install Moogsoft AIOps components on DB 1, 2 and 3

On servers DB 1, 2 and 3, install the following Moogsoft AIOps components:

VERSION=8.0.0; yum -y install moogsoft-utils-${VERSION} moogsoft-db-${VERSION};

Edit the ~/.bashrc file to contain the following lines:

export MOOGSOFT_HOME=/usr/share/moogsoft
export APPSERVER_HOME=/usr/share/apache-tomcat
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$MOOGSOFT_HOME/bin:$MOOGSOFT_HOME/bin/utils 

Source the .bashrc file:

source ~/.bashrc

Set up Percona on DB 1

On DB 1, run install_percona_nodes.sh to install, configure and start Percona Cluster node 1. Substitute the IP addresses of your servers and choose the password for the sstuser. Press <Enter> at the password prompt during initialization.

install_percona_nodes.sh -p -i <DB 1 server ip address>,<DB 2 server ip address>,<DB 3 server ip address> -u sstuser -w <sstpassword>

Moogsoft advises that you provide the IP addresses instead of hostnames for servers running the Percona Cluster in order to reduce network latency. The “sstuser“, in the command above, is the user that will be used by the Percona nodes to communicate with each other. The script performs the following tasks:

  • Disables SELinux and sets the vm.swappiness property to 1.

  • Installs the Percona Yum repository.

  • Installs the Percona compatibility package.

  • Installs Percona XtraDB cluster.

  • Installs the Extended Internet Service Daemon (xinetd).

  • Creates a my.cnf configuration file based on the server's hardware.

  • Configures a mysqlchk service on port 9198 and restarts the xinetd service.

  • Starts the first Percona node in bootstrap mode.

  • Reconfigures my.cnf to ensure the node will restart in non-bootstrap mode.

Initialize the Moogsoft AIOps database

On DB 1, run the following commands to create the Moogsoft AIOps databases (moogdb, moog_reference, historic_moogdb, moog_intdb), and populate them with the required schema:

$MOOGSOFT_HOME/bin/utils/moog_init_db.sh -qIu root --accept-eula <<-EOF
 
EOF

Note

You do not need to run this command on any of the other nodes. The new schema is replicated automatically around the cluster.

Set up Percona on DB 2

On DB 2, run install_percona_nodes.sh. Substitute the IP addresses of your servers and use the same sstuser password as DB 1. The script will perform the same actions, only this time starting the second Percona node to join the first node as a cluster.

install_percona_nodes.sh -d -i <DB 1 server IP address>,<DB 2 server IP address>,<DB 3 server IP address> -u sstuser -w <sstpassword>

Set up Percona on DB 3

On DB 3, run install_percona_nodes.sh as you did for DB 1 and DB 2. Substitute the IP addresses of your servers and use the same sstuser password as DB 1. The script will perform the same actions, only this time starting the third Percona node to join the first and second nodes as a cluster.

install_percona_nodes.sh -d -i <DB 1 server IP address>,<DB 2 server IP address>,<DB 3 server IP address> -u sstuser -w passw0rd

Verify Percona cluster status

To verify the replication status of each node, run the following commands from a remote server:

curl http://<DB 1 server IP address/hostname>:9198
curl http://<DB 2 server IP address/hostname>:9198
curl http://<DB 3 server IP address/hostname>:9198

If successful, you see the following message:

Percona XtraDB Cluster Node is synced.