SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.jsJames Carr
 
SiteGround Tech TeamBuilding
SiteGround Tech TeamBuildingSiteGround Tech TeamBuilding
SiteGround Tech TeamBuildingMarian Marinov
 
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
 
Quick Introduction to Node.js
Quick Introduction to Node.jsQuick Introduction to Node.js
Quick Introduction to Node.jsNaing Lin Aung
 
How not to Cloud
How not to CloudHow not to Cloud
How not to CloudInfralovers
 
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 virshJonathan Franchesco Torres Baca
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefsMarian 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 MongoDBHengki 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 ShellLuis 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 AzureShiju Varghese
 
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 Piserjts
 

Mais procurados (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
 

Semelhante a 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 CobleyDataStax 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
 
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
 
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
 
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 CassandraYuki Morishita
 
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 scaleAlex 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 HailoDave Gardner
 
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 studyKeerthi 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 studyKeerthi Balasundram
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds auroraBalazs Pocze
 
High Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDBHigh Availabiltity & Replica Sets with mongoDB
High Availabiltity & Replica Sets with mongoDBGareth 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
 

Semelhante a 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
 
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)
 
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
 
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...
 

Mais de 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 craftDataStax Academy
 
Introduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseIntroduction to DataStax Enterprise Graph Database
Introduction to DataStax Enterprise Graph DatabaseDataStax 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 CassandraDataStax Academy
 
Cassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsCassandra on Docker @ Walmart Labs
Cassandra on Docker @ Walmart LabsDataStax Academy
 
Cassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingCassandra 3.0 Data Modeling
Cassandra 3.0 Data ModelingDataStax 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 stackDataStax Academy
 
Data Modeling for Apache Cassandra
Data Modeling for Apache CassandraData Modeling for Apache Cassandra
Data Modeling for Apache CassandraDataStax Academy
 
Production Ready Cassandra
Production Ready CassandraProduction Ready Cassandra
Production Ready CassandraDataStax 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 & PythonDataStax 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 1DataStax 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 2DataStax Academy
 
Standing Up Your First Cluster
Standing Up Your First ClusterStanding Up Your First Cluster
Standing Up Your First ClusterDataStax Academy
 
Real Time Analytics with Dse
Real Time Analytics with DseReal Time Analytics with Dse
Real Time Analytics with DseDataStax 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 CassandraDataStax 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 EnterpriseDataStax Academy
 
Advanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraAdvanced Data Modeling with Apache Cassandra
Advanced Data Modeling with Apache CassandraDataStax Academy
 

Mais de 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
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

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