Prerequisites
1. For compiling from source ¶
- C compilers
- Java Developer Kit (SDK) version 1.6 or above
- Apache ant 1.6.5 or above
- Curl development package
- openssl development package
2. For running Eucalyptus ¶
There are a few different Eucalyptus components that run on either a cluster 'front-end', or on a cluster 'node'. There are different run-time dependencies for 'front-end' and 'node' components. One physical machine can play the role of the front-end and the node.
Front-end run-time dependencies
- Java 6 is needed by the Eucalyptus components running on the front end. Note that GNU Compiler for Java (gcj), included by default with some Linux distributions, is not sufficient. Make sure that your JAVA_HOME environment variable is set to the location of your JDK.
- Apache ant is needed to run the Cloud Controller.
- Eucalyptus requires the unlimited-strength policy files for JCE for the Java Virtual Machine. The current installer installs them automatically. Thus, if you are in a country where this is illegal, DO NOT install Eucalyptus. If you are unsure of your country's cryptography import restrictions, Sun's documentation may be able to answer that question: see "Other Downloads" at the bottom of http://java.sun.com/javase/downloads/index.jsp (for JDK 1.6).
- The head node must run a server on port 25 that can deliver or relay email messages to cloud users' email addresses. This can be Sendmail, Exim, or postfix, or even something simpler, given that this server does not have to be able to receive incoming mail. Many Linux distributions satisfy this requirement out of the box. To test whether you have a properly functioning mail relay for localhost, try to send email to yourself from the terminal using "mail".
- DHCP Server compatible with ISC DHCP Daemon version 3.0.X (dhcp3-server)
- Eucalyptus supports several virtual networking 'modes' (see Eucalyptus Networking for details). Installing the following packages allow you to use all modes.
- iptables,
- vlan (vconfig).
- If installing from RPMs, the front-end will need the xen-libs RPM to satisfy dependencies, even though Xen does not have to be installed.
Node run-time dependencies
- Eucalyptus 1.4 supports Xen (version >= 3.0.x). To enable Eucalyptus to control Xen, ensure that the UNIX socket interface is enabled in /etc/xen/xend-config.sxp configuration file by the line (xend-unix-server yes). Eucalyptus interacts with the hypervisor through libvirt (version >= 0.6.0), so make sure that your local libvirt installation is functional on any machine that is to run a Eucalyptus Node Controller.
- Eucalyptus supports several virtual networking 'modes' (see Eucalyptus Networking for details). Installing the following packages allow you to use all modes.
- vlan (vconfig),
- bridge-utils,
- xen-utils.
All Eucalyptus components
- You must be root to install and run Eucalyptus. This document assumes that all commands will be executed as root.
Attention Rocks users:
Eucalyptus 1.4 can be installed on a Rocks-based cluster of version 5 or higher. To satisfy the prerequisites, please, install Java on the front-end and the xen roll in each of your virtual machine containers. The JDK installed by the java roll of the current version of Rocks is unfortunately insufficient, so you will need to install JDK 1.6.0 "manually". For our testing we used Sun's JDK, which can be found at http://java.sun.com/javase/downloads/index.jsp.
3. For interacting with Eucalyptus ¶
To interact with Eucalyptus, you need to install functioning EC2 command-line tools from Amazon. The latest version of these tools that we support are ec2-api-tools-1.3-30349 and ec2-ami-tools-1.3-26357.