cookbook 'hypertable', '~> 0.3.2'
hypertable (4) Versions 0.3.2 Follow1
Installs/Configures hypertable
cookbook 'hypertable', '~> 0.3.2', :supermarket
knife supermarket install hypertable
knife supermarket download hypertable
hypertable cookbook
The contents in this cookbook might change without deprecation before version 1.0
This cookbook helps maintain a Hypertable distributed database in a single node (local DFS) or a cluster of nodes (Hadoop) using a hosted or private Opscode Chef server.
More information:
Cluster Management
The cluster is managed by capistrano
.
cap -f /opt/hypertable/current/conf/Capfile start
cap -f /opt/hypertable/current/conf/Capfile stop
You can also start
cap -f /opt/hypertable/current/conf/Capfile start_hyperspace
cap -f /opt/hypertable/current/conf/Capfile stop_hyperspace
cap -f /opt/hypertable/current/conf/Capfile start_master
cap -f /opt/hypertable/current/conf/Capfile stop_master
cap -f /opt/hypertable/current/conf/Capfile start_slaves
cap -f /opt/hypertable/current/conf/Capfile stop_slaves
cap -f /opt/hypertable/current/conf/Capfile start_thriftbroker
cap -f /opt/hypertable/current/conf/Capfile start_thriftbroker
cap -f /opt/hypertable/current/conf/Capfile start_thriftbroker_additional
cap -f /opt/hypertable/current/conf/Capfile start_thriftbroker_additional
For more information refer to capistrano
documentation and templates/default/Capfile.erb
template.
High Availability (HA)
By setting up more than one Hyperspace, Master and Slave nodes using a DFS other than local
.
Requirements
- SSH root access between nodes for Capistrano access.
- capistrano 2.0 or greater
- capistrano-chef
The user running capistrano cap
command line needs access to a Chef Server. Refer to Chef Documentation.
Usage
Include recipe[hypertable]
in your run_list to keep a latent installation of Hypertable in this node.
Include the recipes into your run_list for the node to operate as:
Hyperspace
recipe[hypertable::hyperspace]
Sets the node as an active master in the cluster. A Hyperspace node runs a Hyperspace. A cluster requires at least ONE hyperspace, more hyperspaces will be set as replicas.Master
recipe[hypertable::master]
Sets the node as an active master in the cluster. A Master node runs a Hyperspace Master. More than one Master nodes in the cluster provide HA.Slave
recipe[hypertable::slave]
Sets the node as an active slave in the cluster. A Slave node runs a RangeServer and a ThriftBroker.ThriftBroker
recipe[hypertable::thriftbroker]
Sets the node as an active ThriftBroker in the cluster. ThriftBroker is required for the nodes that run HyperTable applications (ht, or thriftbroker client enabled apps).
How to operate a Cluster
Due the multinode nature of the
Attributes
TODO A major structuration of attributes is being required and documented
Recipes
hypertable
Installs Hypertable
hypertable::admin
Installs Capistrano
hypertable::master
Enables node as Master replica and includes hypertable::monitoring
hypertable::monitoring
Installs required modules for monitoring
hypertable::hyperspace
Enables node as Hyperspace replica
hypertable::slave
Enables node as RangeServer
hypertable::thriftbroker
Enables node as ThriftBroker
Todo
- Support other OSes: Fedora, Redhat, CentOS, Debian, OSX.
- Support all Hypertable supported DFS's.
- Run as user...
- Upgrades with data compatibility, as
cap upgrade
does. - Finetune chef notifies and actions.
- Test cases.
Contribute
Feel free to fork https://github.com/llonchj/cookbook_hypertable and pull request your modifications.
License and Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Copyright 2013, by his authors:
- Jordi Llonch llonchj@gmail.com
Dependent cookbooks
build-essential >= 0.0.0 |
iptables >= 0.0.0 |
ulimit >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
0.3.2 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.3.2 failed this metric
FC064: Ensure issues_url is set in metadata: hypertable/metadata.rb:1
FC065: Ensure source_url is set in metadata: hypertable/metadata.rb:1
FC066: Ensure chef_version is set in metadata: hypertable/metadata.rb:1
FC069: Ensure standardized license defined in metadata: hypertable/metadata.rb:1
FC121: Cookbook depends on cookbook made obsolete by Chef 14: hypertable/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.3.2 passed this metric
Testing File Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.3.2 failed this metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.3.2 failed this metric
FC064: Ensure issues_url is set in metadata: hypertable/metadata.rb:1
FC065: Ensure source_url is set in metadata: hypertable/metadata.rb:1
FC066: Ensure chef_version is set in metadata: hypertable/metadata.rb:1
FC069: Ensure standardized license defined in metadata: hypertable/metadata.rb:1
FC121: Cookbook depends on cookbook made obsolete by Chef 14: hypertable/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.3.2 passed this metric
Testing File Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.3.2 failed this metric
FC065: Ensure source_url is set in metadata: hypertable/metadata.rb:1
FC066: Ensure chef_version is set in metadata: hypertable/metadata.rb:1
FC069: Ensure standardized license defined in metadata: hypertable/metadata.rb:1
FC121: Cookbook depends on cookbook made obsolete by Chef 14: hypertable/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.3.2 passed this metric
Testing File Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.3.2 failed this metric
0.3.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number