Moogsoft Onprem Offline Tarball Pre-installation
This topic covers the pre-installation process for an offline tarball installation of Moogsoft Onprem. Follow these steps if:
You want to perform the installation as a non-root user. The steps also work for the root user. You must perform all steps as the same user.
You want to install Moogsoft Onprem to a directory of your choice.
The Moogsoft Onprem servers on which you will install Moogsoft Onprem do not have internet access.
You should consider doing an RPM install if you:
Have root access to the Moogsoft Onprem servers.
Do not need to install Moogsoft Onprem to a specific directory.
If you initialize Moogsoft Onprem using the root user account, the initialization process creates the following system users to support the deployment:
moogsoft
moogadmin
opensearch
nginx
rabbitmq
moogtoolrunner
mysql
Before you begin
Before you begin the pre-installation steps, verify the following:
You have a RHEL 8 system on which to install Moogsoft Onprem.
You have removed any existing environment variables such as
$MOOGSOFT_HOME
from previous installations.You have identified the Linux user you will use to perform the installation and manage Moogsoft Onprem.
If this is a distributed or HA install, we recommend that the Linux user has the same username and group for all servers where you will install Moogsoft Onprem components.
If you are planning to run a process on a port below 1024 (for example, nginx), add the Linux user to the sudo list.
You have credentials to connect to the Moogsoft "speedy" Yum repository.
You are familiar with the supported versions of third-party software, as outlined in Moogsoft Onprem 9.x Supported Environments.
You are running OpenSSL v1.1.1 or later. Run
openssl version
to check.If you are initializing Moogsoft Onprem as a non-root user, make sure that ports 8443 and 8080 are open.
If you are initializing Moogsoft Onprem as a root user, make sure that ports 443 and 80 are open.
The hostnames and IP addresses of the primary, secondary and redundancy servers.
That the network ports between Moogsoft Onprem are open. See Distributed HA system Firewall for more information.
What your RabbitMQ vhost/zone name is.
That the redundancy server will run the Percona database, OpenSearch, and RabbitMQ.
The location of a working directory of at least 5 GB in size to copy the Moogsoft Onprem installation files to.
The location of an installation directory (
$MOOGSOFT_HOME
) of at least 150 GB in size to contain the following directories:A database data directory. This defaults to
$HOME/moog_datastore
. See the Sizing Recommendations for guidelines on how large this directory should be.An OpenSearch index directory of at least 20 GB in size. This defaults to
$MOOGSOFT_HOME/var/lib/opensearch
.A RabbitMQ mnesia directory of at least 20 GB in size. This defaults to
$MOOGSOFT_HOME/var/lib/rabbitmq/mnesia
.A Percona directory of at least 2 GB in size to store the program files and libraries. This defaults to
$HOME/install
.A log file directory of at least 50 GB in size. This defaults to
$MOOGSOFT_HOME/log
. Directory size requirements depend on the number of components running, the log level and, for LAMs, whether data capture is turned on.
Make sure you have enough disk space for the installation and planned growth of the database and OpenSearch indexes. The default installation installs files into three different directories which are configurable.
Installation process pre-requisite
An experienced Linux RHEL System Administrator is required to perform the installation/upgrade. If help is needed, please contact Moogsoft Support in order to engage Moogsoft Professional Services
Pre-installation steps
Before you perform an offline tarball installation of Moogsoft Onprem, you must download all required files on a system that has internet access. These commands will require root/sudo access as they involve installing new system packages.
Create a directory for the downloaded files. You will collect the downloaded files in this directory and then move these files to the working directory.
mkdir preinstall_files cd preinstall_files
Download Percona dependencies (including haproxy):
Note
This step requires the following RHEL yum repositories to be present and enabled:
rhel-8-for-x86_64-baseos-rpms
rhel-8-for-x86_64-appstream-rpms
It is important that the server the dependencies are downloaded on, is the same RHEL8 OS version the packages will be installed on.
dnf download haproxy perl-Carp perl-constant perl-Data-Dumper perl-DBD-SQLite perl-DBI perl-Encode perl-Errno perl-Exporter perl-File-Path perl-File-Temp perl-Getopt-Long perl-HTTP-Tiny perl-interpreter perl-IO perl-libs perl-macros perl-Math-BigInt perl-Math-Complex perl-MIME-Base64 perl-parent perl-PathTools perl-Pod-Escapes perl-podlators perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Term-ANSIColor perl-Term-Cap perl-Text-ParseWords perl-threads perl-threads-shared perl-Time-Local perl-Unicode-Normalize rsync lsof make ncurses-compat-libs perl-URI perl-libnet perl-IO-Socket-IP perl-Digest-MD5 perl-Digest perl-Error perl-Git perl-TermReadKey git git-core git-core-doc xinetd libev mariadb-connector-c mariadb-connector-c-config python2 python2-libs python2-pip-wheel python2-setuptools-wheel python2-pip python2-setuptools perl-IO-Socket-SSL perl-Net-SSLeay perl-DBD-MySQL perl-Mozilla-CA perl-Text-Tabs+Wrap socat emacs-filesystem less openssh-clients iproute iproute-tc numactl-libs logrotate pkg-config mkfontdir --downloadonly --downloaddir=. --forcearch=x86_64 --exclude=*.i686 REPO_URL=https://repo.percona.com/yum/release/8/RPMS/x86_64; RPM_FILE=$(curl -s -L ${REPO_URL} 2>/dev/null | egrep ">qpress-[0-9]+" | sed "s/.*\(qpress.*.rpm\).*/\1/" | tail -n 1) curl -s -L -O ${REPO_URL}/${RPM_FILE}
Download Percona files:
curl -L -O https://downloads.percona.com/downloads/Percona-XtraDB-Cluster-80/Percona-XtraDB-Cluster-8.0.35/binary/tarball/Percona-XtraDB-Cluster_8.0.35-27.1_Linux.x86_64.glibc2.17.tar.gz; curl -L -O https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-30/binary/tarball/percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17.tar.gz;
Download the Percona installer script and Moogsoft Onprem installer files. Substitute your "speedy" Yum repo user credentials in the following commands, or download the files in a web browser then copy them to the applicable server):
curl -L -O "https://<username>:<password>@speedy.moogsoft.com/v9/install_percona_nodes_tarball.sh" curl -L -O "https://<username>:<password>@speedy.moogsoft.com/v9/installer/moogsoft-enterprise-9.1.0.tgz.sig" curl -L -O "https://<username>:<password>@speedy.moogsoft.com/v9/installer/moogsoft-enterprise-9.1.0.tgz"
Compress the downloaded files in the
preinstall_files
directory:cd .. tar -czvf preinstall_files9.1.0.tgz preinstall_files
Copy
preinstall_files9.1.0.tgz
to each Moogsoft Onprem server's working directory.Download some non-Percona dependency RPMs:
LIBAIO_RPM=$(curl http://vault.centos.org/8-stream/BaseOS/x86_64/os/Packages/ 2>/dev/null | egrep '>libaio-[0-9].*x86_64' | sed -E 's/.*(libaio-.*.rpm).*/\1/' | tail -n 1) curl -s -L -O --connect-timeout 10 --retry 5 --retry-delay 1 --retry-max-time 45 http://vault.centos.org/8-stream/BaseOS/x86_64/os/Packages/${LIBAIO_RPM} LIBQUADMATH_RPM=$(curl -L http://vault.centos.org/8-stream/BaseOS/x86_64/os/Packages/ 2>/dev/null | egrep '>libquadmath-[0-9].*x86_64' | sed -E 's/.*(libquadmath-.*.rpm).*/\1/' | tail -n 1) LIBGFORTRAN_RPM=$(curl -L http://vault.centos.org/8-stream/BaseOS/x86_64/os/Packages/ 2>/dev/null | egrep '>libgfortran-[0-9].*x86_64' | sed -E 's/.*(libgfortran-.*.rpm).*/\1/' | tail -n 1) for PACKAGE in "${LIBQUADMATH_RPM}" "${LIBGFORTRAN_RPM}"; do curl -s -L -O --connect-timeout 10 --retry 5 --retry-delay 1 --retry-max-time 45 http://vault.centos.org/8-stream/BaseOS/x86_64/os/Packages/$PACKAGE done COMPAT_LIBGFORTRAN_RPM=$(curl -L http://vault.centos.org/8-stream/AppStream/x86_64/os/Packages/ 2>/dev/null | egrep "compat-libgfortran-48-.*x86_64.rpm" | grep -v devel | sed -e 's/.*href="//' -e 's/.rpm.*/.rpm/' | tail -n 1) for PACKAGE in "${COMPAT_LIBGFORTRAN_RPM}"; do curl -s -L -O --connect-timeout 10 --retry 5 --retry-delay 1 --retry-max-time 45 http://vault.centos.org/8-stream/AppStream/x86_64/os/Packages/${PACKAGE} done
Copy the libaio, libquadmath, libgfortran, and compat-libgfortran RPMs to the install server's working directory
On the install server, extract the preinstall_files.tgz file and install all the dependency RPMs:
tar -xf preinstall_files9.1.0.tgz yum install preinstall_files/*.rpm
Run the following command to set the vm.swappiness system property to the needed value:
echo 'vm.swappiness=1' >> /etc/sysctl.conf;
Then apply the new property value using this command (requires root/sudo permissions):
sudo sysctl -p
Configure OpenSearch vm.max_map_count
To allow users to run an OpenSearch cluster, the vm.max_map_count
property must be at least 262144. Check this property by running:
sysctl -n vm.max_map_count
If the value is less than 262144, add the following line to the end of the /etc/sysctl.conf
file (requires root permissions):
vm.max_map_count = 262144
Then apply the new property value using this command (requires root/sudo permissions):
sudo sysctl -p
Configure user ulimits for RHEL8
Run the following commands as root to set appropriate RHEL8 ulimits for the 'moogsoft' user which will run the application. Replace the 'moogsoft' user below as the user who will be installing and running the application⏤by default, it is 'moogsoft' for RPM deployments:
LIMITS_NPROC_CONF=/etc/security/limits.d/00_moogsoft.conf sudo bash -c "echo \"moogsoft hard nproc 65536\" >> ${LIMITS_NPROC_CONF}"; sudo bash -c "echo \"moogsoft hard nofile 65536\" >> ${LIMITS_NPROC_CONF}"; sudo bash -c "echo \"moogsoft soft nproc 65536\" >> ${LIMITS_NPROC_CONF}"; sudo bash -c "echo \"moogsoft soft nofile 65536\" >> ${LIMITS_NPROC_CONF}";
Log out of the command terminal and back in to implement the changes.
The pre-installation steps are now complete.
To continue with a non-high availability (HA) Moogsoft Onprem installation, see Tarball Installation.
To continue with an HA installation, see Basic HA Installation - Tarball or High Availability Installation.