Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jagatveer/terraform-cassandra-multinode
Sets up 3 node Cassandra cluster using terraform
https://github.com/jagatveer/terraform-cassandra-multinode
devops hashicorp hashicorp-terraform terraform
Last synced: 28 days ago
JSON representation
Sets up 3 node Cassandra cluster using terraform
- Host: GitHub
- URL: https://github.com/jagatveer/terraform-cassandra-multinode
- Owner: Jagatveer
- Created: 2016-08-14T17:15:21.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2016-08-29T12:05:14.000Z (about 8 years ago)
- Last Synced: 2024-09-24T04:16:21.942Z (about 1 month ago)
- Topics: devops, hashicorp, hashicorp-terraform, terraform
- Language: HCL
- Size: 10.7 KB
- Stars: 23
- Watchers: 5
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Terraform-cassandra-multinode
* Chef version at the following link:
https://github.com/Jagatveersingh/cassandra-multinodeFollow these steps to get a 3 node cassandra cluster up and running.
* Install terraform.
* Update variables.tf with proper values
* run
```
terraform get
```This is to install an external module for cassandra security groups.
* run
```
terraform plan
```Review the changes.
* run
```
terraform apply
```To bring up resources. At the end you should get the public IP address
of your nodes. run ```terraform show``` at any time to get those public ips
for the next steps.* Once your instances are up, ssh into each instance. cassandra_0 and cassandra_1 are seed
nodes so you must do those one at a time.On each node in sequence do the following steps:
```
ssh -i .pem ubuntu@
bash /tmp/provisioning/setup_cassandra.sh 0ssh -i .pem ubuntu@
bash /tmp/provisioning/setup_cassandra.sh 1ssh -i .pem ubuntu@
bash /tmp/provisioning/setup_cassandra.sh 2
```After all the nodes are up and waiting for connection (tail -f /var/log/cassandra/system.log)
```
ubuntu@ip-10-2-5-172:~$ nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.2.5.170 149.84 KB 256 64.3% 00a6ca46-a115-4dbf-a4af-68bfc830395f rack1
UN 10.2.5.171 170.39 KB 256 69.0% b4e6b40a-6e51-47b1-8493-aadc2949db47 rack1
UN 10.2.5.172 163.16 KB 256 66.7% 3294d6b2-a59a-41fb-8cac-53343cb8c049 rack1```
For secondary server:
```
ssh -i .pem ubuntu@
bash /tmp/provisioning/single.sh
```Backup/Restore script uses the pem key to send backup to remote server, please make sure that the path and name is correct.
* To create backup:
```
./backup.bash backup
```
* To restore backup:
```
sh restorenew.sh restore BACKUPDAY
Example:
sh restorenew.sh restore 20160822
```
Give confirmation to the warning to proceed:
```
Are you sure? It'll delete all current data (yes/no)
+ read decision
yes
```