SlideShare a Scribd company logo
Hardware Agnostic: Cassandra on Raspberry Pi

Andy Cobley | Lecturer, University of Dundee, Scotland

#CASSANDRAEU

CASSANDRASUMMITEU
What we will discuss today…
*  Cassandra is hardware agnostic
*  So why not run it on a Raspberry Pi ?
*  How hard can it be ?
*  What can we do with it once it works?

#CASSANDRAEU

CASSANDRASUMMITEU
Who Am I ?
*  Andy Cobley
*  Program Director, MSc in Data Science and Business Intelligence
*  School of Computing
*  University of Dundee
*  Twitter: @andycobley

#CASSANDRAEU

CASSANDRASUMMITEU
Whats a Raspberry Pi ?
*  Single chip Linux computer
*  500 Meg ram
*  Boots off an SD card
*  Ethernet port 
*  (graphics and all you need for a general purpose computer)

#CASSANDRAEU

CASSANDRASUMMITEU
Pi with pound coin

#CASSANDRAEU

CASSANDRASUMMITEU
And, here’s one for real
*  Also 4 node cluster. 

#CASSANDRAEU

CASSANDRASUMMITEU
The Bad News
*  Cassandra is designed to be fast, fast at writing, fast at reading.
*  This laptop with one instance of Cassandra will do 12,000 write
operations
*  Raspberry Pi will do 200 !

#CASSANDRAEU

CASSANDRASUMMITEU
More bad news !
*  Running a external USB drive is actually worse !
*  Probably be hardware feature

#CASSANDRAEU

CASSANDRASUMMITEU
Raspberry Pi Schematic

#CASSANDRAEU

CASSANDRASUMMITEU
And then there’s Java!
*  Oracle Java vs OpenJDK

#CASSANDRAEU

CASSANDRASUMMITEU
And Raspbian
*  Raspbian is Debian for the PI
*  Uses the Hard floating point accelerator
*  Much faster than Debian
*  Current official Oracle JDK won’t run on it !

#CASSANDRAEU

CASSANDRASUMMITEU
Oracle java
*  http://www.oracle.com/technetwork/java/embedded/downloads/
javase/index.html
*  Java SE Embedded version 6
*  Cassandra might prefer 6 (or 7 for Cassandra 2)
*  But
*  https://blogs.oracle.com/henrik/entry/oracle_releases_jdk_for_linux
*  Preview at:
*  https://jdk8.java.net/fxarmpreview/ 

#CASSANDRAEU

CASSANDRASUMMITEU
Hard vs Soft Float
*  And then it turns out:

Actually	
  not	
  much	
  difference	
  in	
  performance
	
  

#CASSANDRAEU

CASSANDRASUMMITEU
The Problem with compression
*  Cassandra uses compression for performance
*  Started in version 1.0

2x-­‐4x	
  reduc8on	
  in	
  data	
  size	
  
25-­‐35%	
  performance	
  improvement	
  on	
  reads	
  
5-­‐10%	
  performance	
  improvement	
  on	
  writes	
  

#CASSANDRAEU

CASSANDRASUMMITEU
Compression types
*  Three types:

Google	
  Snappy	
  Compressor	
  (Faster	
  read/writes)	
  
DeflateCompressor	
  (Java	
  zip,	
  slower	
  ,	
  beOer	
  
compression)	
  
*  Snappy Compression not available on Pi 

(requires	
  na8ve	
  methods,	
  so	
  someone	
  might	
  get	
  it	
  to	
  
work!)	
  

#CASSANDRAEU

CASSANDRASUMMITEU
Compression
*  Cassandra 1.2 (and 2) also has lz4 compression
*  Which is good news !

#CASSANDRAEU

CASSANDRASUMMITEU
And the startup script
*  Startup script allocates memory
*  Calculates based on number of processors
*  Pi reports Zero processors !
*  Boom !
*  Now fixed 

#CASSANDRAEU

CASSANDRASUMMITEU
JMX Config
*  In Cassandra-env.sh
*  JVM_OPTS="$JVM_OPTS Djava.rmi.server.hostname=192.168.1.15”
*  Or else nodetool will not work between nodes

#CASSANDRAEU

CASSANDRASUMMITEU
JVM OPT UseCondCardMark
*  C* 1.22. added UseCondCardMark as a JVM Opt
*  "for better lock handling especially on hotspot with multicore
processor”
*  In cassandra-env.sh

#if	
  [	
  "$JVM_VERSION"	
  >	
  "1.7"	
  ]	
  ;	
  then	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
#	
  	
  	
  	
  JVM_OPTS="$JVM_OPTS	
  -­‐XX:
+UseCondCardMark"	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
#fi	
  	
  

#CASSANDRAEU

CASSANDRASUMMITEU
#CASSANDRAEU

CASSANDRASUMMITEU
The Good News !
*  We’ve forgotten one thing
*  The Pi cost £25
*  You can power 4 from USB hub (no need for a power supply on
each one)
*  So:

#CASSANDRAEU

CASSANDRASUMMITEU
So, have a 64 node computer for £2000

University	
  of	
  Southhampton	
  
#CASSANDRAEU

CASSANDRASUMMITEU
Or this
*  32 node Beowolf cluster:
*  Joshua Kiepert, Boise University

#CASSANDRAEU

CASSANDRASUMMITEU
Or this Hadoop Cluster from LinkedIn

hOp://prac8calcloudcompu8ng.com/post/53996976003/hadoop-­‐running-­‐on-­‐a-­‐14-­‐chip-­‐
raspberry-­‐pi-­‐cluster	
  
#CASSANDRAEU

CASSANDRASUMMITEU
Adding nodes is good
*  Adding nodes adds performance
*  Adding nodes adds replicas of data 
*  BUT
*  Make sure your ring is balanced, 
*  Pi’s don’t like to be unbalanced.

#CASSANDRAEU

CASSANDRASUMMITEU
Vnodes
*  Vnodes (in 1.2) would be very nice
*  However at this point I haven’t got 1.2 on Pi running on a cluster
*  As for Cassandra 2, see later

#CASSANDRAEU

CASSANDRASUMMITEU
Performance with 3/4 nodes

#CASSANDRAEU

CASSANDRASUMMITEU
Performance with 5/6 nodes

#CASSANDRAEU

CASSANDRASUMMITEU
Stress test commands
*  ./stress -d 192.168.1.10,192.168.1.11,192.168.1.12 -o insert -I
DeflateCompressor
*  Note: nodes to use
*  You will get different performance if you insert to less nodes than
you have in your ring

#CASSANDRAEU

CASSANDRASUMMITEU
Getting more memory
*  On Debian, you can free memory from the graphics chip

Cd	
  /boot	
  
sudo	
  cp	
  start.elf	
  start.elf.old	
  
sudo	
  cp	
  arm224_start.elf	
  to	
  start.elf	
  
reboot	
  

#CASSANDRAEU

CASSANDRASUMMITEU
Getting more Memory
*  Under Rasbian
*  Run with a monitor plugged for the first time
*  Set options for screen memory
*  Perhaps disable boot to GUI

#CASSANDRAEU

CASSANDRASUMMITEU
Network address
*  I prefer static network addresses
*  Edit /etc/network/interfaces

iface	
  eth0	
  inet	
  sta8c	
  
	
  	
  	
  	
  	
  	
  	
  address	
  192.168.1.41	
  
	
  	
  	
  	
  	
  	
  	
  netmask	
  255.255.255.0	
  
	
  	
  	
  	
  	
  	
  	
  network	
  192.168.1.0	
  
	
  	
  	
  	
  	
  	
  	
  broadcast	
  192.168.1.255	
  
	
  	
  	
  	
  	
  	
  	
  gateway	
  192.168.1.254	
  

#CASSANDRAEU

CASSANDRASUMMITEU
Multiple nodes
*  Make a master SD card
*  Copy it !
*  Make sure the master version has no data on it.
*  Consider ”Puppet” (though I don’t use it)

#CASSANDRAEU

CASSANDRASUMMITEU
Starting as a service
*  See https://github.com/acobley/CassandraStartup 
*  Put the file in /etc/init.d
*  update-rc.d cassandra defaults

#CASSANDRAEU

CASSANDRASUMMITEU
Pi is for teaching
*  So for £200 we get an 8 node C* cluster
*  It can be reconfigured, blown away, stress tested and generally
abused 
*  We can simulate data racks, data centers and I hope even long
network delays.
*  Hopefully our students will use these clusters

#CASSANDRAEU

CASSANDRASUMMITEU
C* is network aware
*  We know C* can be configured to be aware of:

Network	
  racks	
  
Data	
  Centers	
  
*  We know we can have replicas are stored across these racks
*  How can we play with this cheaply 

#CASSANDRAEU

CASSANDRASUMMITEU
Proposed teaching tool
Noise	
  
injec8on	
  

10mbs	
  
Hubb	
  
Switch	
  
1	
  

#CASSANDRAEU

Switch	
  
2	
  

CASSANDRASUMMITEU
TC ?
*  What about the Linux tc command
*  Lets look again at the diagram

#CASSANDRAEU

CASSANDRASUMMITEU
Network
*  What we can’t do
*  Recommended bandwidth is 1000 Mbit/s (Gigabit) or greater.
*  Bind the Thrift interface (listen_address) to a specific NIC (Network
Interface Card).
*  Bind the RPC server interface (rpc_address) to another NIC.

hOp://www.datastax.com/docs/1.2/cluster_architecture/cluster_planning	
  

#CASSANDRAEU

CASSANDRASUMMITEU
What about Cassandra 2.0
*  Internode compression currently uses Snappy
*  So turn it off in conf file:

internode_compression:	
  none
	
  

#CASSANDRAEU

CASSANDRASUMMITEU
How does C* 2 run on a PI
*  Some bad news
*  So need to tune it :
*  See John Berryman’s blog:
*  http://www.opensourceconnections.com/2013/08/31/building-theperfect-cassandra-test-environment/

#CASSANDRAEU

CASSANDRASUMMITEU
Pi is discovery
*  Cassandra wouldn’t run on a PI
*  It does now.
*  Running it on a Pi shook out some Cassandra bugs
*  You can run it in a secure lab 

#CASSANDRAEU

CASSANDRASUMMITEU
Pi is for fun
*  Most important, this was pure Geeky Fun

#CASSANDRAEU

CASSANDRASUMMITEU
Obligatory Plug
*  Data Science:
*  http://www.computing.dundee.ac.uk/study/postgrad/
degreedetails.asp?17

#CASSANDRAEU

CASSANDRASUMMITEU
What we discussed today…
*  Raspberry Pi is cheap
*  C* needs some work to run on it
*  You can make clusters cheaply for experimentation
*  It’s fun !

#CASSANDRAEU

CASSANDRASUMMITEU

#CASSANDRAEU

CASSANDRASUMMITEU
THANK YOU

#CASSANDRAEU

CASSANDRASUMMITEU

More Related Content

What's hot

Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
James Carr
 
SiteGround Tech TeamBuilding
SiteGround Tech TeamBuildingSiteGround Tech TeamBuilding
SiteGround Tech TeamBuilding
Marian Marinov
 
Capistrano && SystemD
Capistrano && SystemDCapistrano && SystemD
Capistrano && SystemD
Aleksandr Simonov
 
MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010
MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010
MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010bwmcadams
 
My First BCC
My First BCCMy First BCC
My First BCC
Naoto MATSUMOTO
 
Quick Introduction to Node.js
Quick Introduction to Node.jsQuick Introduction to Node.js
Quick Introduction to Node.js
Naing Lin Aung
 
How not to Cloud
How not to CloudHow not to Cloud
How not to Cloud
Infralovers
 
Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0
Alexander DEJANOVSKI
 
MySQL Sandbox 3
MySQL Sandbox 3MySQL Sandbox 3
MySQL Sandbox 3
Giuseppe Maxia
 
Creación de máquinas virtuales basada en kernel usando qemu y virsh
Creación de máquinas virtuales basada en kernel usando qemu y virshCreación de máquinas virtuales basada en kernel usando qemu y virsh
Creación de máquinas virtuales basada en kernel usando qemu y virsh
Jonathan Franchesco Torres Baca
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefs
Marian Marinov
 
Create a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDBCreate a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDB
Hengki Sihombing
 
Nsq.io on Node.js and Shell
Nsq.io on Node.js and ShellNsq.io on Node.js and Shell
Nsq.io on Node.js and Shell
Luis Faustino
 
JavaScript, Meet Cloud : Node.js on Windows Azure
JavaScript, Meet Cloud : Node.js on Windows AzureJavaScript, Meet Cloud : Node.js on Windows Azure
JavaScript, Meet Cloud : Node.js on Windows Azure
Shiju Varghese
 
OpenStack on SmartOS
OpenStack on SmartOSOpenStack on SmartOS
OpenStack on SmartOS
Daniele Stroppa
 
Juju + KubernetesでGPU の活用
Juju + KubernetesでGPU の活用Juju + KubernetesでGPU の活用
Juju + KubernetesでGPU の活用
VirtualTech Japan Inc.
 
Online Backend Architectures. Through Words. Not Images.
Online Backend Architectures. Through Words. Not Images. Online Backend Architectures. Through Words. Not Images.
Online Backend Architectures. Through Words. Not Images.
Patrik Svensson
 
PXE Network Booting The Raspberry Pi
PXE Network Booting The Raspberry PiPXE Network Booting The Raspberry Pi
PXE Network Booting The Raspberry Pi
serjts
 
NetBSDworkshop
NetBSDworkshopNetBSDworkshop
NetBSDworkshop
Jun Ebihara
 
RamDisk
RamDiskRamDisk

What's hot (20)

Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
 
SiteGround Tech TeamBuilding
SiteGround Tech TeamBuildingSiteGround Tech TeamBuilding
SiteGround Tech TeamBuilding
 
Capistrano && SystemD
Capistrano && SystemDCapistrano && SystemD
Capistrano && SystemD
 
MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010
MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010
MySQL to MongoDB @ Sluggy.com: MongoDB Boston, September 20, 2010
 
My First BCC
My First BCCMy First BCC
My First BCC
 
Quick Introduction to Node.js
Quick Introduction to Node.jsQuick Introduction to Node.js
Quick Introduction to Node.js
 
How not to Cloud
How not to CloudHow not to Cloud
How not to Cloud
 
Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0Cassandra 3.x et la future 4.0
Cassandra 3.x et la future 4.0
 
MySQL Sandbox 3
MySQL Sandbox 3MySQL Sandbox 3
MySQL Sandbox 3
 
Creación de máquinas virtuales basada en kernel usando qemu y virsh
Creación de máquinas virtuales basada en kernel usando qemu y virshCreación de máquinas virtuales basada en kernel usando qemu y virsh
Creación de máquinas virtuales basada en kernel usando qemu y virsh
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefs
 
Create a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDBCreate a RESTful API with NodeJS, Express and MongoDB
Create a RESTful API with NodeJS, Express and MongoDB
 
Nsq.io on Node.js and Shell
Nsq.io on Node.js and ShellNsq.io on Node.js and Shell
Nsq.io on Node.js and Shell
 
JavaScript, Meet Cloud : Node.js on Windows Azure
JavaScript, Meet Cloud : Node.js on Windows AzureJavaScript, Meet Cloud : Node.js on Windows Azure
JavaScript, Meet Cloud : Node.js on Windows Azure
 
OpenStack on SmartOS
OpenStack on SmartOSOpenStack on SmartOS
OpenStack on SmartOS
 
Juju + KubernetesでGPU の活用
Juju + KubernetesでGPU の活用Juju + KubernetesでGPU の活用
Juju + KubernetesでGPU の活用
 
Online Backend Architectures. Through Words. Not Images.
Online Backend Architectures. Through Words. Not Images. Online Backend Architectures. Through Words. Not Images.
Online Backend Architectures. Through Words. Not Images.
 
PXE Network Booting The Raspberry Pi
PXE Network Booting The Raspberry PiPXE Network Booting The Raspberry Pi
PXE Network Booting The Raspberry Pi
 
NetBSDworkshop
NetBSDworkshopNetBSDworkshop
NetBSDworkshop
 
RamDisk
RamDiskRamDisk
RamDisk
 

Similar to C* Summit EU 2013: Hardware Agnostic: Cassandra on Raspberry Pi

C* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy Cobley
C* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy CobleyC* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy Cobley
C* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy Cobley
DataStax Academy
 
Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1
Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1
Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1Andy Cobley
 
C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark
C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark
C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark
DataStax Academy
 
Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)
Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)
Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)
Richard Low
 
Cabs, Cassandra, and Hailo (at Cassandra EU)
Cabs, Cassandra, and Hailo (at Cassandra EU)Cabs, Cassandra, and Hailo (at Cassandra EU)
Cabs, Cassandra, and Hailo (at Cassandra EU)
Dave Gardner
 
How you can contribute to Apache Cassandra
How you can contribute to Apache CassandraHow you can contribute to Apache Cassandra
How you can contribute to Apache Cassandra
Yuki Morishita
 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
Denis Zhdanov
 
C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...
C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...
C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...
DataStax Academy
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
Alex Thompson
 
C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo
C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo
C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo
DataStax Academy
 
Scaling Cassandra for Big Data
Scaling Cassandra for Big DataScaling Cassandra for Big Data
Scaling Cassandra for Big DataDataStax Academy
 
Cabs, Cassandra, and Hailo
Cabs, Cassandra, and HailoCabs, Cassandra, and Hailo
Cabs, Cassandra, and Hailo
Dave Gardner
 
The cassandra odyssey
The cassandra odysseyThe cassandra odyssey
The cassandra odyssey
Phillip Gentry
 
Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...
Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...
Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...
Databricks
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
J On The Beach
 
Benchmarking top IaaS providers - A practical study
Benchmarking top IaaS providers -  A practical studyBenchmarking top IaaS providers -  A practical study
Benchmarking top IaaS providers - A practical study
Keerthi Balasundram
 
Benchmarking top IaaS providers - A practical study
Benchmarking top IaaS providers - A practical studyBenchmarking top IaaS providers - A practical study
Benchmarking top IaaS providers - A practical study
Keerthi Balasundram
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
Balazs Pocze
 
High Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDBHigh Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDB
Gareth Davies
 
C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...
C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...
C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...
DataStax Academy
 

Similar to C* Summit EU 2013: Hardware Agnostic: Cassandra on Raspberry Pi (20)

C* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy Cobley
C* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy CobleyC* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy Cobley
C* Summit 2013: Hardware Agnostic - Cassandra on Raspberry Pi by Andy Cobley
 
Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1
Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1
Data stax cassandra_summit_2013_cassandra_raspberrypi-rc1
 
C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark
C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark
C* Summit EU 2013: Mixing Batch and Real-Time: Cassandra with Shark
 
Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)
Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)
Mixing Batch and Real-time: Cassandra with Shark (Cassandra Europe 2013)
 
Cabs, Cassandra, and Hailo (at Cassandra EU)
Cabs, Cassandra, and Hailo (at Cassandra EU)Cabs, Cassandra, and Hailo (at Cassandra EU)
Cabs, Cassandra, and Hailo (at Cassandra EU)
 
How you can contribute to Apache Cassandra
How you can contribute to Apache CassandraHow you can contribute to Apache Cassandra
How you can contribute to Apache Cassandra
 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
 
C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...
C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...
C* Summit 2013: No Whistling Required: Cabs, Cassandra, and Hailo by Dave Gar...
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
 
C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo
C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo
C* Summit EU 2013: No Whistling Required: Cabs, Cassandra, and Hailo
 
Scaling Cassandra for Big Data
Scaling Cassandra for Big DataScaling Cassandra for Big Data
Scaling Cassandra for Big Data
 
Cabs, Cassandra, and Hailo
Cabs, Cassandra, and HailoCabs, Cassandra, and Hailo
Cabs, Cassandra, and Hailo
 
The cassandra odyssey
The cassandra odysseyThe cassandra odyssey
The cassandra odyssey
 
Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...
Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...
Accelerating Apache Spark by Several Orders of Magnitude with GPUs and RAPIDS...
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
 
Benchmarking top IaaS providers - A practical study
Benchmarking top IaaS providers -  A practical studyBenchmarking top IaaS providers -  A practical study
Benchmarking top IaaS providers - A practical study
 
Benchmarking top IaaS providers - A practical study
Benchmarking top IaaS providers - A practical studyBenchmarking top IaaS providers - A practical study
Benchmarking top IaaS providers - A practical study
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
 
High Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDBHigh Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDB
 
C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...
C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...
C* Summit 2013: Practice Makes Perfect: Extreme Cassandra Optimization by Alb...
 

More from DataStax Academy

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
DataStax Academy
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph Database
DataStax Academy
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
DataStax Academy
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart Labs
DataStax Academy
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
DataStax Academy
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache Cassandra
DataStax Academy
 
Coursera Cassandra Driver
Coursera Cassandra DriverCoursera Cassandra Driver
Coursera Cassandra Driver
DataStax Academy
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready Cassandra
DataStax Academy
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
DataStax Academy
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First Cluster
DataStax Academy
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with Dse
DataStax Academy
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache Cassandra
DataStax Academy
 
Cassandra Core Concepts
Cassandra Core ConceptsCassandra Core Concepts
Cassandra Core Concepts
DataStax Academy
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
DataStax Academy
 
Bad Habits Die Hard
Bad Habits Die Hard Bad Habits Die Hard
Bad Habits Die Hard
DataStax Academy
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache Cassandra
DataStax Academy
 

More from DataStax Academy (20)

Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craftForrester CXNYC 2017 - Delivering great real-time cx is a true craft
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph Database
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache CassandraIntroduction to DataStax Enterprise Advanced Replication with Apache Cassandra
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart Labs
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data Modeling
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache Cassandra
 
Coursera Cassandra Driver
Coursera Cassandra DriverCoursera Cassandra Driver
Coursera Cassandra Driver
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready Cassandra
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & PythonCassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2Cassandra @ Sony: The good, the bad, and the ugly part 2
Cassandra @ Sony: The good, the bad, and the ugly part 2
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First Cluster
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with Dse
 
Introduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache CassandraIntroduction to Data Modeling with Apache Cassandra
Introduction to Data Modeling with Apache Cassandra
 
Cassandra Core Concepts
Cassandra Core ConceptsCassandra Core Concepts
Cassandra Core Concepts
 
Enabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax EnterpriseEnabling Search in your Cassandra Application with DataStax Enterprise
Enabling Search in your Cassandra Application with DataStax Enterprise
 
Bad Habits Die Hard
Bad Habits Die Hard Bad Habits Die Hard
Bad Habits Die Hard
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache Cassandra
 
Advanced Cassandra
Advanced CassandraAdvanced Cassandra
Advanced Cassandra
 

Recently uploaded

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

C* Summit EU 2013: Hardware Agnostic: Cassandra on Raspberry Pi

  • 1. Hardware Agnostic: Cassandra on Raspberry Pi Andy Cobley | Lecturer, University of Dundee, Scotland #CASSANDRAEU CASSANDRASUMMITEU
  • 2. What we will discuss today… *  Cassandra is hardware agnostic *  So why not run it on a Raspberry Pi ? *  How hard can it be ? *  What can we do with it once it works? #CASSANDRAEU CASSANDRASUMMITEU
  • 3. Who Am I ? *  Andy Cobley *  Program Director, MSc in Data Science and Business Intelligence *  School of Computing *  University of Dundee *  Twitter: @andycobley #CASSANDRAEU CASSANDRASUMMITEU
  • 4. Whats a Raspberry Pi ? *  Single chip Linux computer *  500 Meg ram *  Boots off an SD card *  Ethernet port *  (graphics and all you need for a general purpose computer) #CASSANDRAEU CASSANDRASUMMITEU
  • 5. Pi with pound coin #CASSANDRAEU CASSANDRASUMMITEU
  • 6. And, here’s one for real *  Also 4 node cluster. #CASSANDRAEU CASSANDRASUMMITEU
  • 7. The Bad News *  Cassandra is designed to be fast, fast at writing, fast at reading. *  This laptop with one instance of Cassandra will do 12,000 write operations *  Raspberry Pi will do 200 ! #CASSANDRAEU CASSANDRASUMMITEU
  • 8. More bad news ! *  Running a external USB drive is actually worse ! *  Probably be hardware feature #CASSANDRAEU CASSANDRASUMMITEU
  • 10. And then there’s Java! *  Oracle Java vs OpenJDK #CASSANDRAEU CASSANDRASUMMITEU
  • 11. And Raspbian *  Raspbian is Debian for the PI *  Uses the Hard floating point accelerator *  Much faster than Debian *  Current official Oracle JDK won’t run on it ! #CASSANDRAEU CASSANDRASUMMITEU
  • 12. Oracle java *  http://www.oracle.com/technetwork/java/embedded/downloads/ javase/index.html *  Java SE Embedded version 6 *  Cassandra might prefer 6 (or 7 for Cassandra 2) *  But *  https://blogs.oracle.com/henrik/entry/oracle_releases_jdk_for_linux *  Preview at: *  https://jdk8.java.net/fxarmpreview/ #CASSANDRAEU CASSANDRASUMMITEU
  • 13. Hard vs Soft Float *  And then it turns out: Actually  not  much  difference  in  performance   #CASSANDRAEU CASSANDRASUMMITEU
  • 14. The Problem with compression *  Cassandra uses compression for performance *  Started in version 1.0 2x-­‐4x  reduc8on  in  data  size   25-­‐35%  performance  improvement  on  reads   5-­‐10%  performance  improvement  on  writes   #CASSANDRAEU CASSANDRASUMMITEU
  • 15. Compression types *  Three types: Google  Snappy  Compressor  (Faster  read/writes)   DeflateCompressor  (Java  zip,  slower  ,  beOer   compression)   *  Snappy Compression not available on Pi (requires  na8ve  methods,  so  someone  might  get  it  to   work!)   #CASSANDRAEU CASSANDRASUMMITEU
  • 16. Compression *  Cassandra 1.2 (and 2) also has lz4 compression *  Which is good news ! #CASSANDRAEU CASSANDRASUMMITEU
  • 17. And the startup script *  Startup script allocates memory *  Calculates based on number of processors *  Pi reports Zero processors ! *  Boom ! *  Now fixed #CASSANDRAEU CASSANDRASUMMITEU
  • 18. JMX Config *  In Cassandra-env.sh *  JVM_OPTS="$JVM_OPTS Djava.rmi.server.hostname=192.168.1.15” *  Or else nodetool will not work between nodes #CASSANDRAEU CASSANDRASUMMITEU
  • 19. JVM OPT UseCondCardMark *  C* 1.22. added UseCondCardMark as a JVM Opt *  "for better lock handling especially on hotspot with multicore processor” *  In cassandra-env.sh #if  [  "$JVM_VERSION"  >  "1.7"  ]  ;  then                                                           #        JVM_OPTS="$JVM_OPTS  -­‐XX: +UseCondCardMark"                                                                                                                       #fi     #CASSANDRAEU CASSANDRASUMMITEU
  • 21. The Good News ! *  We’ve forgotten one thing *  The Pi cost £25 *  You can power 4 from USB hub (no need for a power supply on each one) *  So: #CASSANDRAEU CASSANDRASUMMITEU
  • 22. So, have a 64 node computer for £2000 University  of  Southhampton   #CASSANDRAEU CASSANDRASUMMITEU
  • 23. Or this *  32 node Beowolf cluster: *  Joshua Kiepert, Boise University #CASSANDRAEU CASSANDRASUMMITEU
  • 24. Or this Hadoop Cluster from LinkedIn hOp://prac8calcloudcompu8ng.com/post/53996976003/hadoop-­‐running-­‐on-­‐a-­‐14-­‐chip-­‐ raspberry-­‐pi-­‐cluster   #CASSANDRAEU CASSANDRASUMMITEU
  • 25. Adding nodes is good *  Adding nodes adds performance *  Adding nodes adds replicas of data *  BUT *  Make sure your ring is balanced, *  Pi’s don’t like to be unbalanced. #CASSANDRAEU CASSANDRASUMMITEU
  • 26. Vnodes *  Vnodes (in 1.2) would be very nice *  However at this point I haven’t got 1.2 on Pi running on a cluster *  As for Cassandra 2, see later #CASSANDRAEU CASSANDRASUMMITEU
  • 27. Performance with 3/4 nodes #CASSANDRAEU CASSANDRASUMMITEU
  • 28. Performance with 5/6 nodes #CASSANDRAEU CASSANDRASUMMITEU
  • 29. Stress test commands *  ./stress -d 192.168.1.10,192.168.1.11,192.168.1.12 -o insert -I DeflateCompressor *  Note: nodes to use *  You will get different performance if you insert to less nodes than you have in your ring #CASSANDRAEU CASSANDRASUMMITEU
  • 30. Getting more memory *  On Debian, you can free memory from the graphics chip Cd  /boot   sudo  cp  start.elf  start.elf.old   sudo  cp  arm224_start.elf  to  start.elf   reboot   #CASSANDRAEU CASSANDRASUMMITEU
  • 31. Getting more Memory *  Under Rasbian *  Run with a monitor plugged for the first time *  Set options for screen memory *  Perhaps disable boot to GUI #CASSANDRAEU CASSANDRASUMMITEU
  • 32. Network address *  I prefer static network addresses *  Edit /etc/network/interfaces iface  eth0  inet  sta8c                address  192.168.1.41                netmask  255.255.255.0                network  192.168.1.0                broadcast  192.168.1.255                gateway  192.168.1.254   #CASSANDRAEU CASSANDRASUMMITEU
  • 33. Multiple nodes *  Make a master SD card *  Copy it ! *  Make sure the master version has no data on it. *  Consider ”Puppet” (though I don’t use it) #CASSANDRAEU CASSANDRASUMMITEU
  • 34. Starting as a service *  See https://github.com/acobley/CassandraStartup *  Put the file in /etc/init.d *  update-rc.d cassandra defaults #CASSANDRAEU CASSANDRASUMMITEU
  • 35. Pi is for teaching *  So for £200 we get an 8 node C* cluster *  It can be reconfigured, blown away, stress tested and generally abused *  We can simulate data racks, data centers and I hope even long network delays. *  Hopefully our students will use these clusters #CASSANDRAEU CASSANDRASUMMITEU
  • 36. C* is network aware *  We know C* can be configured to be aware of: Network  racks   Data  Centers   *  We know we can have replicas are stored across these racks *  How can we play with this cheaply #CASSANDRAEU CASSANDRASUMMITEU
  • 37. Proposed teaching tool Noise   injec8on   10mbs   Hubb   Switch   1   #CASSANDRAEU Switch   2   CASSANDRASUMMITEU
  • 38. TC ? *  What about the Linux tc command *  Lets look again at the diagram #CASSANDRAEU CASSANDRASUMMITEU
  • 39. Network *  What we can’t do *  Recommended bandwidth is 1000 Mbit/s (Gigabit) or greater. *  Bind the Thrift interface (listen_address) to a specific NIC (Network Interface Card). *  Bind the RPC server interface (rpc_address) to another NIC. hOp://www.datastax.com/docs/1.2/cluster_architecture/cluster_planning   #CASSANDRAEU CASSANDRASUMMITEU
  • 40. What about Cassandra 2.0 *  Internode compression currently uses Snappy *  So turn it off in conf file: internode_compression:  none   #CASSANDRAEU CASSANDRASUMMITEU
  • 41. How does C* 2 run on a PI *  Some bad news *  So need to tune it : *  See John Berryman’s blog: *  http://www.opensourceconnections.com/2013/08/31/building-theperfect-cassandra-test-environment/ #CASSANDRAEU CASSANDRASUMMITEU
  • 42. Pi is discovery *  Cassandra wouldn’t run on a PI *  It does now. *  Running it on a Pi shook out some Cassandra bugs *  You can run it in a secure lab #CASSANDRAEU CASSANDRASUMMITEU
  • 43. Pi is for fun *  Most important, this was pure Geeky Fun #CASSANDRAEU CASSANDRASUMMITEU
  • 44. Obligatory Plug *  Data Science: *  http://www.computing.dundee.ac.uk/study/postgrad/ degreedetails.asp?17 #CASSANDRAEU CASSANDRASUMMITEU
  • 45. What we discussed today… *  Raspberry Pi is cheap *  C* needs some work to run on it *  You can make clusters cheaply for experimentation *  It’s fun ! #CASSANDRAEU CASSANDRASUMMITEU #CASSANDRAEU CASSANDRASUMMITEU