(Click to open topic with navigation)
This topic contains instructions on how to install Moab Insight (Insight).
Because Insight accumulates data for one cluster at a time, one Insight Server (daemon) should service one Moab instance. However, you can configure PostgreSQL to aggregate data using database replication mechanisms if you desire cross-cluster data.
Moab Workload Manager and Insight both tend to heavily consume system resources. Therefore, Adaptive Computing requires that the Insight Server and the Moab Workload Manager Server run on different hosts. For these installation instructions, the "Moab Server Host" refers to one host and the "Insight Server Host" refers to another host.
In this topic:
In this section:
If your site is running firewall software on its hosts, you will need to configure the firewall to allow connections to the necessary ports.
In this section:
Open the Insight Server Port (5568)
On the Insight Server Host, do the following:
[root]# iptables-save > /tmp/iptables.mod [root]# vi /tmp/iptables.mod # Add the following line immediately *before* the line matching # "-A INPUT -j REJECT --reject-with icmp-host-prohibited" -A INPUT -p tcp --dport 5568 -j ACCEPT [root]# iptables-restore < /tmp/iptables.mod [root]# service iptables save
Open the Insight PostgreSQL Database Port (5432)
Insight requires access to the Insight PostgreSQL database. Depending on your system configuration, your PostgreSQL databases may not be installed on the same host as their corresponding component servers. For example, you may choose to install the Insight PostgreSQL database on the same host where you have installed the Moab PostgreSQL database instead of on the Insight Server Host.
On the Insight Database Host, do the following:
[root]# iptables-save > /tmp/iptables.mod [root]# vi /tmp/iptables.mod # Add the following lines immediately *before* the line matching # "-A INPUT -j REJECT --reject-with icmp-host-prohibited" -A INPUT -p tcp --dport 5432 -j ACCEPT [root]# iptables-restore < /tmp/iptables.mod [root]# service iptables save
Open the MongoDB Database Port (27017)
Insight also requires access to the Moab MongoDB database. Depending on your system configuration, your MongoDB databases may not be installed on the same host as their corresponding component servers. For example, you may choose to install the Insight MongoDB on the same host where you have installed other MongoDB databases instead of on the Insight Server Host.
Do the following, as needed:
[root]# iptables-save > /tmp/iptables.mod [root]# vi /tmp/iptables.mod # Add the following lines immediately *before* the line matching # "-A INPUT -j REJECT --reject-with icmp-host-prohibited" -A INPUT -p tcp --dport 27017 -j ACCEPT [root]# iptables-restore < /tmp/iptables.mod [root]# service iptables save
Open the Moab Server Ports (5574 and 5575)
On the Moab Server Host, do the following:
[root]# iptables-save > /tmp/iptables.mod [root]# vi /tmp/iptables.mod # Add the following lines immediately *before* the line matching # "-A INPUT -j REJECT --reject-with icmp-host-prohibited" -A INPUT -p tcp --dport 5574:5575 -j ACCEPT [root]# iptables-restore < /tmp/iptables.mod [root]# service iptables save
On the Insight Server Host, confirm your host (with the correct IP address) is in your /etc/hosts file. To verify that the hostname resolves correctly, make sure that hostname and hostname -f report the correct name for the host.
3.10.2 Dependencies, Packages, or Client Installations
In this section:
Install the Linux x64 RPM version of Oracle® Java® 8 Runtime Environment.
Oracle Java 8 Runtime Environment is the recommended Java environment, but Oracle Java 7 is also supported.. All other versions of Java, including OpenJDK/IcedTea, GNU Compiler for Java, and so on cannot run Insight.
On the Insight Server Host, do the following:
[root]# rpm -Uh <URL>
The Insight MongoDB may be installed on the Insight Server Host or on different host. If you will install on a different host, and your configuration uses firewalls, open the necessary port. See 3.10.1.A Open Necessary Ports
To install and enable MongoDB, do the following:
[root]# yum install mongo-10gen-server --exclude mongodb-org,mongodb-org-server
Running yum upgrade will replace MongoDB 2.4.x with a more recent, and incompatible version. Consider using yum version lock to maintain MongoDB 2.4.x.
There may be a short delay (approximately 3 minutes) for Mongo to start the first time.
[root]# chkconfig mongod on [root]# service mongod start
Add the required MongoDB users to Insight MongoDB and Moab MongoDB; regardless of whether they share a host.
These instructions show password examples (secret1, secret2, and secret3). Choose your own passwords for these users.
[root]# mongo > use admin; > db.addUser("admin_user", "secret1"); > db.auth ("admin_user", "secret1"); > use insight; > db.addUser ("insight_user", "secret4"); > db.addUser("mws_user", "secret3", true); > exit
[root]# mongo > use admin; > db.auth("admin_user", "secret1"); > use moab; > db.addUser ("insight_user", "secret4", true); > exit
Because the admin_user has read and write rights to the admin database, it also has read and write rights to all other databases. See Control Access to MongoDB Instances with Authentication for more information.
Verify user authentication is enabled in MongoDB and that the mongo server is listening for external connections. By default some versions of MongoDB listen only for connections from localhost. Commenting out bind_ip causes the mongo server to listen on all interfaces.
If Insight MongoDB resides on a different host from Moab MongoDB, you will need to perform this procedure twice (once for each host).
[root]# vi /etc/mongod.conf
#bind_ip = <local_host>
...
auth = true
[root]# service mongod restart
The Insight PostgreSQL database may be installed on the Insight Server Host or on different host. If you will install on a different host, and your configuration uses firewalls, open the necessary port. See 3.10.1.A Open Necessary Ports.
On the host you have chosen to install the Insight PostgreSQL database, do the following:
[root]# yum install postgresql93-server [root]# service postgresql-9.3 initdb
[root]# vi /var/lib/pgsql/9.3/data/postgresql.conf # Uncomment the listen addresses line in the configuration: listen_addresses = '*'
[root]# vi /var/lib/pgsql/9.3/data/pg_hba.conf
If you are using MWS, add the IP address of the host on which MWS Server is installed. This is shown in the following example as <MWS_host_address>.
Using "0.0.0.0/0" in place of "<MWS_host_address>" will allow connections from all hosts.
If the "host" lines are not present, add them as they appear in the example.
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all <MWS_host_address>/32 md5 # If using MWS host all all <Insight_host_address>/32 md5 host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
[root]# chkconfig postgresql-9.3 on [root]# service postgresql-9.3 start
You must complete the tasks to install the dependencies, packages, or clients before installing Insight Server. See 3.10.2 Dependencies, Packages, or Client Installations.
If your configuration uses firewalls, you must also open the necessary ports before installing Insight Server. See 3.10.1.A Open Necessary Ports.
These instructions contain steps to edit the /opt/insight/etc/config.groovy file.
Commented out values in the config.groovy file are not necessarily the default values.
It is recommended that anytime you edit the config.groovy file that you first stop Insight, edit the file and then restart Insight.
[root]# yum install moab-insight
If the installation returns the following warning line:
warning: rpmts_HdrFromFdno: Header V4 RSA/SHA1 Signature, key ID 952741e1: NOKEY
Retrieving key from file:///opt/adaptive-rpm-repository/key/GPG_ADAPTIVE_COMPUTING_INC_EL_6_KEY
Importing GPG key 0x952741E1:
Userid: "Adaptive Computing Enterprises, Inc. (EL 6 key) <[email protected]>"
From : /opt/adaptive-rpm-repository/key/GPG_ADAPTIVE_COMPUTING_INC_EL_6_KEY
This is normal. You can safely input y and continue.
Create the Insight user and PostgreSQL database.
PostgreSQL was installed earlier in this topic. See 3.10.2.C Install PostgreSQL.
This instructions show the default changeme! password. Change this password according to your password security process.
su - postgres
[postgres]$ psql CREATE USER moab_insight WITH PASSWORD 'changeme!'; CREATE DATABASE moab_insight WITH OWNER=moab_insight; CREATE DATABASE moab_insight_reference WITH OWNER=moab_insight; \q
[postgres]$ psql moab_insight -f /opt/insight/db/initialize.sql
If you are also using MWS, create and grant permissions for the MWS user to query the database.
[postgres]$ psql moab_insight
CREATE USER mws WITH PASSWORD 'changeme!'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO mws;
\connect moab_insight moab_insight localhost
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO mws; \q [postgres]$ exit
[root]# vi /opt/mws/etc/mws-config.groovy dataSource_insight.url = "jdbc:postgresql://<insight_postgresql_server_ip_address>:5432/moab_insight" dataSource_insight.username = "<postgresql_mws_username>" dataSource_insight.password = "<postgresql_mws_user_password>" insight.server = "<insight_server_ip_address>" insight.command.port = 5568 insight.command.timeout.seconds = 5
In this example,
See Configuration in the Moab Web Services Reference Guide for more information on the MWS configuration properties.
[root]# service tomcat restart
jdbc.referenceUrl = "jdbc:postgresql://<insight_postgresql_server_ip_address>/moab_insight_reference" jdbc.url = "jdbc:postgresql://<insight_postgresql_server_ip_address>/moab_insight" jdbc.username = "moab_insight" jdbc.password = "changeme!"
mongo.host="<insight mongo host>" mongo.port=<insight mongo port> mongo.username="insight_user" mongo.password="secret4" moab.mongo.host="<moab mongo host>" moab.mongo.port=<moab mongo port> moab.mongo.username="insight_user" moab.mongo.password="secret4"
"secret4" is the password you specified when installing the mongoDB. See 3.10.2.B Install MongoDB.
[root]# chkconfig insight on
INSIGHTENDPOINT <hostname>[:<port>]
<hostname> is the server where Insight is located. <hostname> is required, <port> is optional.
In /opt/moab/etc/moab-private.cfg, configure the MESSAGEQUEUESECRETKEY parameter so that Moab can connect to Insight. See Secure communication using secret keys.
MESSAGEQUEUESECRETKEY <secret key>
The <secret key> is required when updating the Insight configuration file later in this procedure.
service moab restart
mdiag -S | grep Insight
You should see something similar to the following:
[root]# mdiag -S | grep Insight ZeroMQ Insight connection is bound on port 5574 (reliability port 5575) on host * using Insight endpoint <the insight hostname displays here>:5568 encryption is on) ZeroMQ Insight reliable message delivery is using store file(s) up to 1024 MB in /opt/moab/spool/insight_store/
moab.host = "<moab server>" messageQueue.secretKey = "<secret key>"
The <secret key> must match the secret key configured in moab-private.cfg on the Moab server for the MESSAGEQUEUESECRETKEY configuration parameter.
[root]# service insight start
The first time you start Insight it will take a minute or two to create the database schema. Although 'service insight start' will quickly return OK, it is not safe to terminate Insight while this initialization is taking place. Rebooting or terminating Insight during this initialization may cause the database to not be initialized correctly.
You will know it is safe to reboot or terminate Insight if you see the following line in /opt/insight/log/insight.log.
2014-12-11T18:36:08.059-0700 main INFO com.ace.insight.app.Application 0 Started Application in 89.502 seconds (JVM running for 89.882)
Related Topics