This cookbook installs and configures MemSQL, a fast in-memory RDBMS that emulates MySQL.
At the time of this writing, this cookbook works only with Ubuntu 12.04, though it probably works fine with later Ubuntu releases.
apt
- because Ubuntu/Debian.
There are quite a few attributes you can set. You're strongly encouraged to look over attributes/default.rb
.
Because of the way MemSQL is distributed, you will absolutely want to set a value for default[:memsql][:license]
in your environment or wrapper cookbook,
and you'll want to make sure the value of default[:memsql][:version]
is correct for your license key. If you're new to MemSQL and don't have a license already,
please get that squared away first.
If your organization already has a licensed version hosted on a local file repository, you can use the url
, version
and license
attributes to have the cookbook
fetch it from there instead.
This cookbook uses the following roles to infer what is installed and where. By default, if you assign aggregator and
leaf roles, they will be woven into a cluster that span a chef_environment
.
The roles below can be found in the roles/
subdirectory of this cookbook. You'll want to install them on your Chef server if you plan to use this cookbook's
ability to organize clusters automagically.
Please assign only one of these roles per node.
memsql_standalone
- installsmemsql
in standalone mode, running on port 3306, andmemsql-ops
on port 9000.memsql_master_aggregator
- installsmemsql
running as a master aggregator. There should only ever be one of these in a cluster.memsql_child_aggregator
- installsmemsql
running as a child aggregator under the master.memsql_leaf
- installsmemsql
running as a leaf.
There's one more role, too:
memsql_ops
- installsmemsql-ops
, the pretty monitoring dashboard. You'll only want one of these per cluster. It can be installed two ways.- If installed on the same node that has the
memsql_master_aggregator
role, it will use the cluster itself for its own storage. This is not recommended on any cluster wheere you care about optimal performance (e.g. production) or recording the activity that led up to a crash or other Unfortunate Event (e.g. production). - If installed on its own node, it will also install its own dedicated standalone instance of
memsql
for use by Ops.
- If installed on the same node that has the
Pleaae note, however, that adding and attaching leaves to the master aggregator, assigning redundancy group (if you're using them) and other post-installation steps still need to be done as described in the MemSQL documentation.
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write you change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Authors: TODO: List authors