Skip to content

bingzhang/pegasus

 
 

Repository files navigation

Pegasus

Pegasus Workflow Management System

Before you try to run anything, you might want to make sure that your environment works. We depend on a number of packages that you need to have installed: Condor 7.4+, Java 1.6+, Python 2.6/2.7, Perl 5.6+, and optionally Globus Toolkit 4.2+.

Please refer to the RELEASE_NOTES for important changes. For instance, it is no longer necessary to set the PEGASUS_HOME environment variable. However, in order to find all tools, you must include Pegasus's "bin" directory in your PATH environment variable.

Please refer to the user guide for instructions on the packages and their installation. You can find online documentation on the Pegasus webpage and in the distributed "doc" directory.

Installation

The easiest way to install Pegasus is to use one of the binary packages available on the Pegasus downloads page. Consult Chapter 3 of the Pegasus User Guide for more information about installing Pegasus from binary packages.

Pegasus requires the following software to be installed on your system:

  • Java 1.6 or later
  • Python 2.6 or 2.7
  • Condor 8.0 or later
  • Perl 5
  • Globus 5 (optional, required for GRAM and GridFTP)

Building from Source

Pegasus can be compiled on any recent Linux or Mac OS X system.

Source Dependencies

In order to build Pegasus from source, make sure you have the following packages installed:

Debian systems (Debian, Ubuntu, etc.)

Install the following packages using apt-get:

  • default-jdk
  • ant
  • gcc
  • g++
  • make
  • python-setuptools
  • asciidoc (optional, required to build documentation)
  • fop (optional, required to build documentation)
  • lintian (optional, required to build DEB package)
  • debhelper (optional, required to build DEB package)
  • asciidoc (optional, required to build documentation)
  • fop (optional, required to build documentation)
  • libmysqlclient-dev (optional, required to access MySQL databases)
  • libpq-dev (optional, required to access PostgreSQL databases)

Red Hat systems (RHEL, CentOS, Scientific Linux, Fedora, etc.)

Install the following packages using yum:

  • java
  • java-devel
  • ant
  • ant-junit
  • gcc
  • gcc-c++
  • make
  • python-devel
  • openssl-devel
  • rpm-build (optional, required to build RPM package)
  • mysql-devel (optional, required to access MySQL databases)
  • postgresql-devel (optional, required to access PostgreSQL databases)

In addition, RHEL 5 systems will require Python 2.6, which can be installed from EPEL. You will also need to install the right setuptools for Python 2.6, which can be installed from the Python Package Index using:

$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg#md5=ca37b1ff16fa2ede6e19383e7b59245a
$ sudo /bin/sh setuptools-0.6c9-py2.6.egg

or, if you don't have root access:

$ /bin/sh setuptools-0.6c9-py2.6.egg -d ~/.local/lib/python2.6/site-packages

Mac OS X

Install Xcode and the Xcode command-line tools.

Install homebrew and the following homebrew packages:

  • mysql (optional, required to access MySQL databases)
  • postgresql (optional, required to access PostgreSQL databases)

SUSE (openSUSE, SLES)

Install the following packages:

  • git
  • ant
  • make
  • gcc
  • gcc-c++
  • sqlite3
  • python
  • python-setuptools
  • python-devel
  • openssl-devel

Other packages may be required to build documentation, run unit tests, and build MPI tools.

Compiling

Ant is used to compile Pegasus.

To build a binary tarball (excluding documentation), run:

$ ant dist

To build the release tarball (including documentation), run:

$ ant dist-release

Getting Started

You can find more information about Pegasus on the Pegasus Website.

Pegasus has an extensive User Guide that documents how to create, plan, and monitor workflows.

We recommend you start by completing the Pegasus Tutorial from Chapter 2 of the Pegasus User Guide.

There is documentation on the Pegasus website for the Python, Java and Perl APIs used to construct DAXes.

There are several examples of how to construct workflows on the Pegasus website and in the Pegasus Git repository .

There are also examples of how to configure Pegasus for different execution environments in the Pegasus User Guide.

If you need help using Pegasus, please contact us. See the [support page] (http://pegasus.isi.edu/support) on the Pegasus website for contact information.

About

Pegasus Workflow Management System

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 68.5%
  • Python 18.6%
  • C 3.4%
  • Shell 3.3%
  • Perl 2.4%
  • C++ 2.1%
  • Other 1.7%