This is an OpsCode Chef cookbook for Apache Cassandra (DataStax Community Edition).
It uses officially released Debian packages, provides Upstart service script but has no way to tweak Cassandra configuration parameters using Chef node attributes. The reason for that is it was created for CI and development environments. Attributes will be used in the future, doing so for single-server installations won't be difficult.
This has been forked from Michael Klishin's awesome cookbook to include more specific OpsWorks support.
This cookbook currently provides
- Cassandra 2.0.0 (DataStax Community Edition) via packages.
- Automatic Seed assignment from the Deployment JSON passed in by OpsWorks.
Ubuntu 11.04, 11.10, 12.04, 12.10.
- I have removed the upstream recipe
cassandra-opsworks::tarball
and have kept only the installation viacassandra-opsworks::datastax
- You will want to run
cassandra-opsworks::opsworks
to have your configuration files copied over, however. cassandra-opsworks::ephemeral_xfs
Reconfigures your instance store volume (only one for now, /dev/xvdb) as XFS. This deletes any data on the volume.
node[:cassandra][:version]
(default: a recent patch version): version to provisionnode[:cassandra][:user]
: username Cassandra node process will usenode[:cassandra][:jvm][:xms]
(default:32
) andnode[:cassandra][:jvm][:xmx]
(default:512
) control JVM-Xms
and-Xms
flag values, in megabytes (no need to add them
suffix)node[:cassandra][:installation_dir]
(default:/usr/local/cassandra
): installation directorynode[:cassandra][:data_root_dir]
(default:/var/lib/cassandra
): data directory rootnode[:cassandra][:log_dir]
(default:/var/log/cassandra
): log directorynode[:cassandra][:rpc_address]
(default:localhost
): address to bind the RPC interfacenode[:cassandra][:rpc_address]
(default:EC2Snitch
): Snitch to use. The default is only meant to be used between availability zones in a single region. See notes in next section if the multi-region snitch is desired.
- Authentication is enabled by default, you may log in with
cqlsh ip_address -u cassandra -p cassandra
- it goes without saying that you should change the username and password before putting anything in production :) - At the same time you're changing the default password you'll want to change the replication factor for the system_auth keyspace. From the
cqlsh
prompt, runALTER KEYSPACE system_auth WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 3};
- The seed list is currently generated from the list of private IP addresses within the OpsWorks cassandra layer. To use any sort of multi-region function you'll need to use public IP addresses in the seed list (and use the multi-region snitch:
EC2MultiRegionSnitch
)
OracleJDK 7, OpenJDK 7, OpenJDK 6 or Sun JDK 6.
Skye Book, 2013.
Released under the Apache 2.0 License.
Michael S. Klishin, Travis CI Development Team, 2012.
Released under the Apache 2.0 License.