The size of server required by Brooklyn depends on the amount of activity. This includes:
For dev/test or when there are only a handful of VMs being managed, a small VM is sufficient. For example, an AWS m3.medium with one vCPU, 3.75GiB RAM and 4GB disk.
For larger production uses, a more appropriate machine spec would be two or more cores, at least 8GB RAM and 100GB disk. The disk is just for logs, a small amount of persisted state, and any binaries for custom blueprints/integrations.
There are three main consumers of disk space:
deploy/
directory, plus data/
directory which is generated on first launch. Note that Brooklyn requires that Java is installed which you may have to consider when calculating disk space requirements.The Apache Brooklyn distribution itself, when unpacked, consumes approximately 75MB of disk space. This includes everything needed to run Brooklyn except for a Java VM. The space consumed by additional binaries for custom blueprints and integrations is application-specific.
Persisted state, excluding catalog data, is relatively small, starting at approximately 300KB for a clean, idle Brooklyn server. Deploying blueprints will add to this - how much depends exactly on the entities involved and is therefore application specific, but as a guideline, a 3-node Riak cluster adds approximately 500KB to the persistence store.
Log data can be a large consumer of disk space. By default Brooklyn generates two logfiles, one which logs notable information only, and another which logs at a debug level. Each logfile rotates when it hits a size of 100MB; a maximum of 10 log files are retained for each type. The two logging streams combined, therefore, can consume up to 2GB of disk space.
In the default configuration of Brooklyn‘s .tar.gz
and .zip
distributions, logs are saved to the Brooklyn installation directory. You will most likely want to reconfigure Brooklyn's logging to save logs to a location elsewhere. In the .rpm
and .deb
packaging, logging files will be located under /var/log
. You can further reconfiguring the logging detail level and log rotation according to your organisation’s policy.
Brooklyn is tested against CentOS (6 or later), RHEL (6 or later), Ubuntu (14.04 or later), OS X, and Windows.
Brooklyn requires Java 8 (JRE or JDK) or later. OpenJDK is recommended. Brooklyn has also been tested on the Oracle JVM and IBM J9.
The ports used by Brooklyn are:
Whether to use HTTPS rather than HTTP is configurable using the CLI option --https
; the port to use is configurable using the CLI option --port <port>
.
To enable remote Brooklyn access, ensure these ports are open in the firewall. For example, to open port 8443 in iptables, ues the command:
/sbin/iptables -I INPUT -p TCP --dport 8443 -j ACCEPT
Brooklyn expects a sensible set of locale information and time zones to be available; without this, some time-and-date handling may be surprising.
Brooklyn parses and reports times according to the time zone set at the server. If Brooklyn is targetting geographically distributed users, it is normally recommended that the server's time zone be set to UTC.
It is normally recommended that Brooklyn run as a non-root user with keys installed to ~/.ssh/id_rsa{,.pub}
.
Check that the Linux kernel entropy is sufficient.
Check that the ulimit values are sufficiently high.