Install Apache Airavata

Select...
Airavata PrerequisitesAiravata on CentOS 7

General Prerequisites

  1. JAVA 8
    • Java installation on CentOS, Mac, Windows, etc.. - Oracle JAVA Installation
  2. RabbitMQ
    • Download the RabbitMQ Binary
      Select the download file as per the operating system of your machine/server.
    • Same link has installing guide documentation as well. E.g.:MAC Installation Guide
    • For detailed information on getting RabbitMQ started, stopped, etc please visit RabbitMQ Documentation
  3. Maven
    • Download Maven (java based code building tool).
  4. MySQL Database

Airavata Installation on CentOS 7

NOTE: Airavata installation on other operating systems are similar with minor changes.

Pre-Installations

  1. CentOS 7 Default open JDK 1.8.0. (minimum) is sufficient. Use “yum search jdk” to find available versions. Verify versions using “javac -version”. Be sure to install the developer version.
  1. Download RabbitMQ binary for CentOS 7 Download RabbitMQ Binary for CentOS
  2. Prerequisite for RabbitmQ Erlang can be installed using yum
  1. Unzip the downloaded RabbitMQ tar file into a folder in your local machine.
  1. Start the RabbitMQ server in the bin folder using;
  1. Install Maven using yum install. ((install the latest maven 3.3.9. Default Maven default of centOS 7).
  1. Install MySQL database
  1. Start maria DB with;

When executing above it will ask you for root password; provide it. 10. Now login as the root user providing the password you gave above. 10. Create databases required for Airavata

  1. Grant permission to these databases for a new user which would be used by Airavata
    Command syntax:

E.g.:

Airavata Installation

  1. Create a folder in your local machine (E.g.: mkdir LocalAiravata).
  2. Clone the master source (If you have not taken a clone prior) code from github to the created folder.
  1. After cloning is completed, build the source code by executing following maven command (In LocalAiravata/airavata);

Hint: To avoid tests (recommended for first time users) use

  1. Locate the tar file in target directory Path:
  1. Navigate to locally created directory (LocalAiravata) copy the tar file

OR

  1. Now unzip either the tar or zip file of Airavata server distribution;

OR

  1. Generate Credential store keystore file in the created local directory.

For more information visit Credential Store Configuration Documentation 8. In order to copy mysql jar file (always download the latest available); navigate to Airavata lib directory

Now copy the mysql jar (e.g. mysql-connector-java-5.1.39-bin.jar) to lib directory (Download mysql.jar). 9. Navigate to bin folder which contains file airavata-server.properties and open it;

  1. Update relevant necessary properties in airavata-server.properties file.
    Change as required. For more details refer; Airavata Property File.
    • In sections; API Server Registry Configuration, Application Catalog DB Configuration, Data Catalog DB Configuration, Workflow Catalog DB Configuration, Credential Store Module Configuration
      • Comment out derby DB properties.
      • Change MySQL configurations as per the databases created above.
    • Make sure gateway ID is properly defined;
      default.registry.gateway=php_reference_gateway
    • Server module Configuration
      • Make sure all servers required to start are added as given
        servers=apiserver,orchestrator,gfac,credentialstore
    • API Server SSL Configurations
      • Give the correct path for key generation file. This is in the bin directory and it is shipped default with Airavata.
        apiserver.keystore=/home/airavata/LocalAiravata/apache-airavata-server-0.16-SNAPSHOT/bin/airavata.jks
    • Credential Store module Configuration
      • Add the path to SSH key generation file
        E.g.: credential.store.keystore.url=/home/airavata/LocalAiravata/airavata-sym.jks
    • API Security Configuration
      • Make sure
        api.secured=false
        TLS.enabled=false
    • Monitoring Module Configuration
      • Add your email address, username and password for email monitoring.
        This is the email account the job status change emails will be received from compute resources. email.based.monitor.host=imap.gmail.com
        email.based.monitor.address=jobs@sample.org
        email.based.monitor.password=SamplePassword
    • Zookeeper Server Configuration
      • For ‘Production’ scenario make;
        embedded.zk=false
    • AMQP Notification Configuration
      • Users can use RabbitMQ as ‘Guest’ users. This is the easy method. For this uncomment
        rabbitmq.broker.url=amqp://localhost:5672
      • To use as a ‘Production’ user
        Navigate to RabbitMQ bin folder.
        Make sure the RabbitMQ server is running. For production use rabbitmq-server -detached Create a virtual-host and user with a password. Follow documentation in RabbitMQ Users & VirtualHost To create a user; rabbitmqctl add_user airavata airavata To create a vitrual-host rabbitmqctl add_vhost messaging Provide permission to created username; ‘airavata’ to the created vhost rabbitmqctl set_permissions -p messaging airavata “.*” “.*” ".*” Uncomment rabbitmq.broker.url=amqp://airavata:airavata@localhost:5672/messaging.
  2. Download and install Zookeeper. Use Download Zookeeper
    You can download and install Zookeeper in the above created local folder; LocalAiravata
  3. Start Zookeeper
    • Copy the sample config file to zoo.cfg: cp conf/zoo_sample.cfg conf/zoo.cfg
    • Navigate to the Zookeeper bin directory and start zookeeper zkServer.sh start
  4. In bin start the Airavata server and monitor log messages; This may require JAVA_HOME to be defined. Some configurations such as in bin/zoo.cfg and bin/airavata-server.properties may have to be adjusted if some ports are already in use. Ports need to be open as well.
  1. If you are in the target folder use given to start Airavata server;
  1. To monitor the server starting up, view the airavata server log;
  1. For subsequent Airavata copies; in the local Airavata folder where source code is cloned do a git clone https://github.com/apache/airavata.git for the latest trunk.

Next is PGA Installation on CentOS 7