Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This section covers installing Squirro on a supported Linux system, either Red Hat® Enterprise Linux® (RHEL) or its open source derivative CentOS Linux.

...

TCP PortUsageOpen for
81Web access
  • All Squirro nodes
  • Optionally for all clients if HTTPS access (port 443) is not desired
111Gluster
  • All Squirro nodes (in multi-node setups)
443Web access (SSL-protected)
  • All clients
2181Zookeeper
  • All Squirro nodes
2888Zookeeper node discovery
  • All Squirro nodes (in multi-node setups)
3306MySql
  • All Squirro nodes
3888Zookeeper node discovery
  • All Squirro nodes (in multi-node setups)
6379Redis (storage)
  • All Squirro nodes
6380Redis (cache)
  • All Squirro nodes
24007Gluster
  • All Squirro nodes (in multi-node setups)
49152+ (one per node, e.g. range 49152 – 49155 for a cluster of three nodes)Gluster nodes
  • All Squirro nodes (in multi-node setups)

...

The following is an example for RHEL 6.5, though the username and password for the YUM repository have not been filled in:

Code Block
languagetext
title/etc/yum.repos.d/squirro.repo
[squirro-stable]
name=Squirro - Red Hat Enterprise Linux 6 - Stable
baseurl=https://<user name>:<password>@mirror.squirro.net/rhel/6/stable/$basearch/<specific version or 'latest'>/
enabled=1
gpgkey=https://mirror.squirro.net/rhel/RPM-GPG-KEY-squirro-stable
gpgcheck=1
sslverify=1
metadata_expire=300

Squirro depends on Python, which is provided by a separate YUM repository. Execute the following commands to set up this repository. Please answer y for yes in response to the yum install command prompts.

RHELCentOS


Code Block
languagetext
title/etc/yum.repos.d/squirro.repo
[squirro-stable]
name=Squirro - Red Hat Enterprise Linux 6 - Stable
baseurl=https://<user name>:<password>@mirror.squirro.net/rhel/6/stable/$basearch/<specific version or 'latest'>/
enabled=1
gpgkey=https://mirror.squirro.net/rhel/RPM-GPG-KEY-squirro-stable
gpgcheck=1
sslverify=1
metadata_expire=300



Code Block
languagetext
title/etc/yum.repos.d/squirro.repo
[squirro-stable]
name=Squirro - Centos Linux 7 - Stable
baseurl=https://<user name>:<password>@mirror.squirro.net/centos/7/stable/$basearch/<specific version or 'latest'>/
enabled=1
gpgkey=https://mirror.squirro.net/centos/RPM-GPG-KEY-squirro-stable
gpgcheck=1
sslverify=1
metadata_expire=300


Storage Node Installation

Installation of the storage node happens with two separate packages. The first package installs the required Linux users and the second installs the services. Furthermore, we also need to explicitly install a few dependencies. Use the following two commands for the installation:

Java

Code Block
yum install jre

Squirro Storage Node

Code Block
languagebash
[root@localhost ~]#sudo su
yum install squirro-storage-node-users
[root@localhost ~]# yum install elasticsearch # in case of installing Squirro v2.6.0 or higher
yum install squirro-storage-node

...

Installation of the Squirro cluster node happens with two separate packages. The first package installs the required Linux users and the second installs the services. Furthermore, we also need to explicitly install a few dependencies. Use the following commands for the installation:

Java

Squirro depends on JRE which is provided in the Squirro YUm repository itself. But this package has to be installed explicitly as none of the Squirro packages declare an explicit dependency on JRE. This is done to provide more flexibility in making Squirro work for various custom deployments where we do not control the version of Java installed on the server. Please execute the yum command below to install JRE

Code Block
yum install jre

Python (Installation from Squirro repository - "Online")

If installing from the Squirro repository, please follow the steps below:

Code Block
yum install python27-python

Python (Installation from Squirro RPMs - "Offline")

Squirro depends on Python, which is provided by a separate YUM repository. Execute the following commands to set up this repository. Please answer y for yes in response to the yum install command prompts.

RHEL6RHEL7Centos


Code Block
languagebash
[root]# yum install yum-utils
[root]#
yum-config-manager --enable rhel-server-rhscl-6-rpms
[root]# yum install python27



Code Block
languagebash
[root]# yum install yum-utils
[root]#
yum-config-manager --enable rhel-server-rhscl-7-rpms
[root]#
yum install python27



Code Block
languagebash
[root]# yum install centos-release-SCL
[root]#scl
yum install python27


EPEL and libgomp

RHEL6 / CentOS 6RHEL7 / CentOS 7


Code Block
languagebash

...

yum install wget
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

...

yum localinstall epel-release-6-8.noarch.rpm
yum install libgomp



Code Block
languagebash
yum install wget
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum localinstall epel-release-

...

7-

...

11.noarch.rpm



Squirro Cluster node

Note

You can choose to run MySql server and Redis servers remotely, i.e. not residing on the Squirro Cluster Node if you go through the trouble of setting up MySql and Redis Server installations with a specific configuration.

To set up Squirro with remote MySql server and Redis server "Backends", please create a readable file /etc/squirro/backends.ini with the content:

Code Block
is_mysql_server_remote = true
is_redis_server_remote = true


Next install the following prerequisites:

RHEL6 / Centos 6RHEL7 / Centos 7

n/a

The default MySQL variant for MySQL on RHEL7/CentOS7 is MariaDB.

Please execute the following before you proceed further:

Code Block
languagebash

...

echo "Installing Squirro dependency MariaDB"
yum install -y mariadb-server
yum install -y policycoreutils-devel
if [ -f /lib/systemd/system/mariadb.service ]; then
    systemctl stop mariadb
    mv /lib/systemd/system/{mariadb,mysqld}.service
    systemctl enable mysqld
    systemctl start mysqld
fi

Once we have released MariaDb RPM packages, the corresponding upgrade will undo this indirection.

Installation of the Squirro cluster node happens with two separate packages. The first package installs the required Linux users and the second installs the services. Use the following commands for the installation:

Code Block
languagebash
yum install squirro-cluster-node-users
[root@localhost ~]#
yum install squirro-cluster-node

If the Storage and Cluster node are not the same physical machine, then you need now to adjust the file /etc/nginx/conf.d/upstream-elastic.inc to point to the IP or Hostnames of the storage node

...

(s).

Examples:

Single Server both rolesDedicated Storage NodeMultiple Storage Nodes


Code Block
upstream elastic {
    server 127.0.0.1:9200;
    keepalive 32;
}



Code Block
upstream elastic {
 server 192.168.0.20:9200;
 keepalive 32;
}



Code Block
upstream elastic {
 server 192.168.0.20:9200;
 server 192.168.0.21:9200;
 server 192.168.0.22:9200;
 keepalive 32;
}


If changes have been made to this file, reload the nginx configuration

Code Block
languagebash
service nginx reload


Note

If you have chosen to rely on remote MySql and/or Redis server installations, please follow the steps on Setup on Linux with Remote MySql and Redis Servers.

Finally start the Squirro Services

RHEL6 / Centos 6RHEL7 / Centos 7


Code Block
languagebash
service monit start
monit -g all-manual start



Code Block
languagebash
echo "Starting Squirro services"
cd /lib/systemd/system
for service in $(ls sq*d.service); do
    echo "Starting $service"
    systemctl restart $service
done


Note

We are deprecating the use of monit and have removed monit from our centos 7 installations already.