This document describes the post-install configuration after you deploy the Abiquo OVAs.
This configuration is required for a Distributed HA Cluster environment.
Abiquo API UI Server
After you deploy the OVA, do these configuration steps
To use the separate database cluster in Abiquo, edit the tomcat configuration at:
/opt/abiquo/tomcat/conf/Catalina/localhost/api.xml
Change the DB endpoint from localhost to the Galera cluster.
Remove:driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/kinton?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"/>
Add:
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://10.10.51.105:3306,10.10.51.106:3306,10.10.51.107:3306/kinton?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"/>
Change the user and password. Please contact Abiquo Support for more information
To point to the services cluster instead of the local host for RabbitMQ and Redis, edit the abiquo.properties file at:
/opt/abiquo/config/abiquo.properties
Set the RabbitMQ property
abiquo.rabbitmq.addresses=
Enter the three IPs in the datanode services cluster, separated by commas.
For example:abiquo.rabbitmq.addresses=10.60.30.185,10.60.30.186,10.60.30.187
Set the Redis host property
abiquo.redis.host=
Enter the master IP of the cluster, which be the IP of the first VM deployed in the cluster.
For example:abiquo.redis.host=10.60.30.185
Datanode services cluster
Do these steps on ALL SERVERS in the datanode services cluster (usually 3 servers).
Log in to each server as an administrator
On the leader node, create the Galera cluster for MySQL
galera_new_cluster
On the other nodes, start MariaDB or MySQL service
[root@datanodes1 /]# systemctl start mariadb [root@datanodes2 /]# systemctl start mariadb
Edit the RabbitMQ environment configuration file at:
/etc/rabbitmq/rabbitmq-env.conf
Set the
nodename
that corrresponds to the server.
For example: "rabbit@services1", "rabbit@services2", or "rabbit@services3"Restart the RabbitMQ service
service rabbitmq-server restart
Then start with the master and run the following command on each server
/usr/local/abiquo/setup build_cluster
Monitoring cluster
Do these steps on node 2 and node 3 in the monitoring cluster, not the master node (again, we’re assuming you’ve got three servers).
Log in to node 2 and node 3, not the master node
Edit the Cassandra configuration file at:
/etc/cassandra/conf/cassandra.yaml
Remove the seeds value. In this example, remove “x.x.x.x”
seeds: x.x.x.x
Add the IP of the master VM as the new seeds value.
seeds: <IP.of.Master.VM>
Then do these steps on ALL monitoring nodes.
Log in to the monitoring server
Edit the KairosDB properties file at:
/opt/kairosdb/conf/kairosdb.properties
Remove the this property
kairosdb.datastore.cassandra.host_list
Add this property (note the “cql_” in the name) and set the value as the three IP addresses of the cluster, without the port, and separated by commas
kairosdb.datastore.cassandra.cql_host_list=10.60.30.188,10.60.30.189,10.60.30.190
Edit the watchtower properties files at:
/etc/abiquo/watchtower/delorean.conf /etc/abiquo/watchtower/emmett.conf
Set the URL of the mysql server connection (as on the API server) with the 3 IP addresses of the watchtower cluster servers.
Set the database credentials.
Restart the cluster
On all servers, stop the following services:
cassandra
kairosdb
abiquo-emmett
abiquo-delorean
firewalld (and allow connections as required)
Start cassandra and wait 5 minutes before continuing
Start kairosdb and wait 1 minute
Start abiquo-emmett and abiquo-delorean
Start firewalld
The cluster should now be fully functioning.