Whirr is configured using a properties file, and optionally using command line arguments when using the CLI. Command line arguments take precedence over properties specified in a properties file.
Name | Command line option | Default | Description |
---|
whirr.config | --config | none | A filename of a properties file containing properties in this table. Note that Whirr properties specified in this file all have a whirr. prefix. |
whirr.service-name | --service-name | The default service for launching clusters | The name of the service to use. You only need to set this if you want to use a non-standard service launcher. |
whirr.cluster-name | --cluster-name | none | The name of the cluster to operate on. E.g. hadoopcluster. The cluster name is used to tag the instances in some cloud-specific way. For example, in Amazon it is used to form the security group name. |
whirr.instance-templates | --instance-templates | none | The number of instances to launch for each set of roles in a service. E.g. 1 nn+jt,10 dn+tt means one instance with the roles nn (namenode) and jt (jobtracker), and ten instances each with the roles dn (datanode) and tt (tasktracker). |
whirr.provider | --provider | ec2 | The name of the cloud provider. See the table below for possible provider names. |
whirr.identity | --identity | none | The cloud identity. See the table below for how this maps to the credentials for your provider. |
whirr.credential | --credential | none | The cloud credential. See the table below for how this maps to the credentials for your provider. |
whirr.private-key-file | --private-key-file | ~/.ssh/id_rsa | The filename of the private RSA SSH key used to connect to instances. Note: the public/private key must be set together, and must be passwordless. |
whirr.public-key-file | --public-key-file | ~/.ssh/id_rsa.pub | The filename of the public RSA SSH key used to connect to instances. Note: the public/private key must be set together, and must be passwordless. |
whirr.image-id | --image-id | none | The ID of the image to use for instances. If not specified then a vanilla Linux image is chosen. |
whirr.hardware-id | --hardware-id | none | The type of hardware to use for the instance. This must be compatible with the image ID. |
whirr.location-id | --location-id | none | The location to launch instances in. If not specified then an arbitrary location will be chosen. |
whirr.client-cidrs | --client-cidrs | none | A comma-separated list of CIDR blocks. E.g. 208.128.0.0/11,108.128.0.0/11 |
whirr.run-url-base | --run-url-base | http://whirr.s3.amazonaws.com/VERSION/ | The base URL for forming run urls from. Change this to host your own set of launch scripts, as explained in the FAQ. |
Compute Service Provider | whirr.provider | whirr.identity | whirr.credential | Notes |
---|
Amazon EC2 | ec2 | Access Key ID | Secret Access Key | Used to form security Group (via jclouds tag) |
Rackspace Cloud Servers | cloudservers | Username | API Key | |
Python | Java | Notes |
---|
config-dir | whirr.config | |
service | whirr.service-name | |
none | whirr.cluster-name | Specified as a positional argument on the Python CLI. |
none | whirr.instance-templates | Specified as a positional arguments on the Python CLI. |
cloud-provider | whirr.provider | |
none | whirr.identity | Specified using environment variables for Python. E.g. AWS_ACCESS_KEY_ID, RACKSPACE_KEY |
none | whirr.credential | Specified using environment variables for Python. E.g. AWS_ACCESS_KEY_ID, RACKSPACE_SECRET |
private-key | whirr.private-key-file | |
public-key | whirr.public-key-file | |
client-cidr | whirr.client-cidrs | Python's client-cidr option may be repeated multiple times, whereas Java's whirr.client-cidrs contains comma-separated CIDRs. |
none | whirr.run-url-base | Specified using user-data-file in Python. |
image-id | whirr.image-id | |
instance-type | whirr.hardware-id | |
availability-zone | whirr.location-id | Location is more general than availability zone. |
security-group | none | Amazon-specific. However, Amazon users may wish to start a cluster in additional security groups, which isn't currently supported in Java. |
env | none | May not be needed in Java with runurls. |
user-data-file | none | Amazon-specific. Use runurls. |
key-name | none | Amazon-specific. Jclouds generates a new key for clusters. |
user-packages | none | Implement by allowing arbitrary runurls. |
auto-shutdown | none | Implement by allowing arbitrary runurls. |
ssh-options | none | Jclouds handles SSH, so not needed in Java. |