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

In addition to this installation method, Squirro also provides ready-made images for VMWare and VirtualBox, that are fully configured. See the Installation section for information on these methods.

Table of Contents

Architecture Overview

A Squirro cluster can contain anywhere from just one to dozens of servers. Adding additional servers to a Squirro cluster always serves two different needs: performance and capacity. As these needs do not necessarily scale in the same way, Squirro differentiates two different types of servers:

Storage and cluster nodes can be installed on the same server, and for a single-node setup that is the recommended approach. But if you intend to scale to more than just one server, it is recommended to only install one of the two node types on a server. That makes better use of the available performance and allows for more flexible scaling.

Prerequisites

This manual assumes that a few prerequisites have been met. This includes a set up system with internet connectivity and some relevant ports opened in the firewall.

If some of these conditions can not be met, please contact support.

Linux setup

The installation of the base system is not covered in this manual. A fully functional RHEL or CentOS installation is assumed to be set up. The supported versions of these Linux distributions are documented on the System Requirements page.

If you want to avoid setting up Linux yourself, there are pre-installed images available for VMWare and VirtualBox. See the Installation section for information on these methods.

Networking

The Linux system needs internet access to download the Squirro packages. Additionally the system should be accessible from your internal network, so that the Squirro interface can be accessed by administrators and users.

Information on how to set up networking is provided by Red Hat in their networking guide.

Firewall

Incoming traffic to Squirro servers should be open on a number of TCP ports. The individual ports and the required access level are documented below:

Storage Nodes

TCP PortUsageOpen for
9200Elasticsearch accessAll storage and Squirro nodes
9300Elasticsearch replicationAll storage nodes

Squirro Nodes

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
  • 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)

Users

Squirro provides packages that sets up all the Linux users required on a system. Those packages are used in the instructions below.

However in some environments users must not be created by packages. For these cases, users have to be manually created up-front. See the separate page Linux users for Squirro for a detailed list on users that need to be set up.

YUM Repositories

Squirro packages are provided with a Yum repository. Yum is a utility, provided with the RHEL / CentOS Linux system, that downloads and installs packages from central repositories. To configure a new such repository, it needs to be set up using a file in the folder /etc/yum.repos.d.

Squirro

Create the file /etc/yum.repos.d/squirro.repo. The exact content of the file will be provided to you by Squirro support, when delivering the license.

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

[squirro-stable]
name=Squirro - Red Hat Enterprise Linux 6 - Stable
baseurl=https://<user name>:<password>@mirror.squirro.net/rhel/6/stable/$basearch/latest/
enabled=1
gpgkey=https://mirror.squirro.net/rhel/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. Use the following two commands for the installation:

[root@localhost ~]# yum install squirro-storage-node-users
[root@localhost ~]# yum install squirro-storage-node

Cluster Node Installation

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:

Python

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


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



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



[root]# yum install centos-release-SCL
[root]# yum install python27



EPEL

[root]# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root]# yum localinstall epel-release-6-8.noarch.rpm

Squirro Cluster node

[root]# yum install squirro-cluster-node-users
[root]# yum install squirro-cluster-node
[root]# service monit start
[root]# monit -g all-manual start