Install Apache Airavata
Click your option;
Airavata Prerequisites Airavata on CentOS 7
General Prerequisites
- JAVA 8
- Java installation on CentOS, Mac, Windows, etc.. - Oracle JAVA Installation
- 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
- Maven
- Download Maven (java based code building tool).
- MySQL Database
Airavata Installation on CentOS 7
NOTE: Airavata installation on other operating systems are similar with minor changes.
Pre-Installations
- 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.
- Download RabbitMQ binary for CentOS 7 Download RabbitMQ Binary for CentOS
- Prerequisite for RabbitmQ Erlang can be installed using yum
- Unzip the downloaded RabbitMQ tar file into a folder in your local machine.
- Start the RabbitMQ server in the bin folder using;
- Install Maven using yum install. ((install the latest maven 3.3.9. Default Maven default of centOS 7).
- Install MySQL database
- 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
- Grant permission to these databases for a new user which would be used by Airavata
Command syntax:
E.g.:
Airavata Installation
- Create a folder in your local machine (E.g.: mkdir LocalAiravata).
- Clone the master source (If you have not taken a clone prior) code from github to the created folder.
- After cloning is completed, build the source code by executing following maven command (In LocalAiravata directory you made);
Hint: To avoid tests (recommended for first time users) use
- Locate the tar file in target directory Path:
- Navigate to locally created directory (LocalAiravata) copy the tar file
OR
- Now unzip either the tar or zip file of Airavata server distribution;
OR
- 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; navigate to Airavata lib directory
Now copy the mysql.jar to lib directory (Download mysql.jar). 9. Navigate to bin folder which contains file airavata-server.properties and open it;
- 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
- Make sure its set to ‘true’ in
start.credential.store=true - 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.
- Download and install Zookeeper. Use Download Zookeeper
You can download and install Zookeeper in the above created local folder; LocalAiravata - 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
- 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.
- If you are in the target folder use given to start Airavata server;
- To monitor the server starting up, view the airavata server log;
- 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.