Jun 222016
Page Contents
Intro
Cassandra is highly available (no SPOF) distributed database service for managing large amounts of structured data across many commodity servers.
Here is a quick recipe for starting a first Debian based Cassandra server in your Cassandra cluster.
Modify Debian repositories
- Modify default apt sources and make sure you have Contrib in sources:
# vim /etc/apt/sources.list deb http://http.debian.net/debian jessie main contrib non-free deb-src http://http.debian.net/debian jessie main contrib non-free deb http://http.debian.net/debian jessie-updates main contrib non-free deb-src http://http.debian.net/debian jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free
- Add Cassandra to sources:
# vim /etc/apt/sources.list.d/cassandra.list deb http://www.apache.org/dist/cassandra/debian 37x main deb-src http://www.apache.org/dist/cassandra/debian 37x main
Install Oracle Java JDK
Visit Oracle website and download Oracle JDK tar.gz package from Oracle website
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Install Java and Cassandra
sudo -i apt-get update && apt-get install java-package && exit apt install libgl1-mesa-glx libgtk2.0-0 libxxf86vm1 -y make-jpkg jdk-8u51-linux-x64.tar.gz dpkg -i oracle-java8-jdk_8u91_amd64.deb update-alternatives --config java # and choose Oracle version apt-get install cassandra -y
Is it running?
# systemctl status cassandra cassandra.service - LSB: distributed storage system for structured data Loaded: loaded (/etc/init.d/cassandra) Active: active (running) since Wed 2016-06-22 13:23:54 UTC; 17min ago CGroup: /system.slice/cassandra.service └─17055 java -Xloggc:/var/log/cassandra/gc.log -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+Heap
Working with Cassandra
cqlsh nodetool status nodetool info nodetool tpstats
Example output:
$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.7 | CQL spec 3.4.2 | Native protocol v4] Use HELP for help. cqlsh>
$ nodetool status
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 105.98 KiB 256 100.0% c1ad1f98-170a-4a29-a007-46fd1dda4506 rack1
Easy!