How to setup a Cassandra 2.x Cluster in AWS EC2 / Amazon Linux
# Remove java 7
sudo yum remove -y java
# Install basic packages
sudo yum install -y git
# Download and install java 8
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz"
tar -xzvf jdk-8u45-linux-x64.tar.gz
rm -rf jdk-8u45-linux-x64.tar.gz
# Configure JAVA_HOME
sudo vim ~/.bashrc
alias cls='clear'
export JAVA_HOME=~/jdk1.8.0_45
export JRE_HOME=~/jdk1.8.0_45/jre
export PATH=$PATH:~/jdk1.8.0_45/bin:/~/jdk1.8.0_45/jre/bin
source ~/.bashrc
java -version
wget https://archive.apache.org/dist/cassandra/2.1.9/apache-cassandra-2.1.9-bin.tar.gz
tar -xzvf apache-cassandra-2.1.9-bin.tar.gz
rm -rf apache-cassandra-2.1.9-bin.tar.gz
# your_server_ip - copy the IP
hostname -i
vim ~/apache-cassandra-2.1.9/conf/cassandra.yaml
cluster_name: 'Test Cluster'
listen_address: your_server_ip
rpc_address: your_server_ip
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "ip1,ip2,...ipN"
endpoint_snitch: GossipingPropertyFileSnitch
# on each cass node...
cd ~/apache-cassandra-2.1.9
bin/cassandra start
7000
9160
9042
# Connect to any node - you can run: hostname -i to get the IP
apache-cassandra-2.1.9/bin/cqlsh IP
CREATE KEYSPACE CLUSTER_TEST WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
USE CLUSTER_TEST;
CREATE TABLE TEST ( key text PRIMARY KEY, value text);
INSERT INTO TEST (key,value) VALUES ('1', 'works');
SELECT * from TEST;
# Connect to any other node - you can run: hostname -i to get the IP - check for data replication
apache-cassandra-2.1.9/bin/cqlsh IP
USE CLUSTER_TEST;
SELECT * from TEST;