Generic Linux Installation
Preparing the Environment
There is a bit of preparation to do before actually extracting the Corus package.
Before installing Corus you need to have Java installed on your machine. Corus requires at least Java 7. Also, Corus requires the presence of the $JAVA_HOME environment variable that points to the Java runtime you want to use (JRE or JDK).
Since Corus is mainly a background process, we strongly suggest that the Corus server be installed and executed with the privileges of a restricted user. Using the useradd, create a new system user named corus:
sudo useradd corus
Using the groupadd command, create a group to which the corus user will belong (or you may simply prefer to associate the corus user to an already existing group). For example, creating an ops groups:
sudo groupadd ops
Associate the corus user to the group:
sudo usermod -G ops corus
Next, you need to create a directory on your system in which you will install Corus. For example:
sudo mkdir /opt/corus
Extract the Corus Package
Extract the Corus package tarball into the Corus installation directory created above (adjust the Corus version number to match yours):
sudo tar --directory=/opt/corus -xvf sapia_corus_server_package-5.0-linux64.tar.gz
You should now have the
/opt/corus/sapia_corus_server_package-5.0 directory. A good practice is to create a current symlink, and point
it to the newly created directory:
sudo ln -s /opt/corus/sapia_corus_server_package-5.0-linux64 /opt/corus/current
Make sure you assign the ownership to the corus user:
chown -R corus /opt/corus/current
Configure the Environment
Corus requires a CORUS_HOME environment variable, which should point to the installation directory. You must also add the bin directory under CORUS_HOME to the PATH environment variable. A good practice on Linux is to do all of this in a shell script (say, corus.sh) that you put under /etc/profile.d). The corus.sh script would contain the following:
export CORUS_HOME=/opt/corus/current export PATH=$CORUS_HOME/bin:$PATH
With the above setup, you should be able to run Corus manually, by simply typing corus in the terminal.
Corus uses IP multicast for cluster discovery by default. But that method can be faulty (multicast might not be allowed in your network, or configured to go through routers), and it is typically not available in the cloud.
Corus supports TCP-based discovery: the different supported mechanisms (and their respective configuration) is explained in the Discovery section. Please consult that section for the details.
Run as a Daemon
A script is available to register Corus as a system service. It is found under the following path: $CORUS_HOME/bin/corus.init.d-nowrapper and copy it under the /etc/init.d directory and name it corus:
sudo cp $CORUS_HOME/current/bin/corus.init.d-nowrapper /etc/init.d/corus
The use your editor (vi, vim, etc.) to set the JAVA_HOME, CORUS_HOME and CORUS_GROUP variables (set the group to the one to which you've assigned the corus user).
Register with the Run Levels
This part of the procedure may vary according to the Linux flavor you're using. We're describing the steps for RedHat flavors (RedHat, Centos, Fedora).
Execute the chkconfig command:
sudo chkconfig --add /etc/init.d/corus
You can validate the run level registration as follows:
sudo chkconfig --list | grep corus corus 0:off 1:off 2:on 3:on 4:on 5:on 6:off
As you can see upon installation, the Corus service is not running. You can start it using the service command, as follows:
sudo service corus start
Once you start the Corus service, you can validate its proper execution by looking at the Corus log files under the $CORUS_HOME/logs directory.
You can also start the Corus CLI (Command Line Interface) to connect to the server. Simply type coruscli in a terminal window: this will connect you to the Corus instance running locally.