►
Description
Speaker: Andy Cobley, Lecturer at University of Dundee
Slides: http://www.slideshare.net/planetcassandra/5-andy-cobley-raspberry-pi
The raspberry Pi is a credit-card sized $25 ARM based linux box designed to teach children the basics of programming. The machine comes with a 700MHz ARM and 512Mb of memory and boots off a SD card, not much power for running the likes of a Cassandra cluster. This presentation will discuss the problems of getting Cassandra up and running on the Pi and will answer the all important question: Why on Earth would you want to do this!?
A
Okay,
hi
everyone,
I'm
Andy,
Cobb
Lee
and
from
university
of
dundee,
and
the
first
thing
I'm
going
to
do
is
take
a
picture
of
you
look
just
to
prove.
I
was
here,
then,
okay,
so
what
am
I
going
to
talk
about
I'm,
going
to
talk
about
Cassandra
on
a
raspberry,
pi
and
I
need
a
clicker
which
is
this
one
I
think
so,
basically
Cassandra's
hardware
agnostic.
It
runs
on
just
about
anything
that
will
run
Java.
So
my
question
was
about
12
months
ago.
Why
not
run
it
on
a
raspberry
pi?
How
hard
can
it
be?
A
A
So
what
is
the
Raspberry
Pi?
Anyone
own
one
yeah
a
couple
of
you.
So
if
you
it's
really
interesting,
my
first
started
out
this
talk.
It
would
be
like
no
hands
and
about
few
months
later
everybody
had
one
and
over
here
it's
like
a
few
of
you.
So
that's
quite
good.
Socially,
it's
a
single-chip,
the
next
computer
256
500
mega
RAM,
really
tiny
boot
off
an
SD
card,
no
hard
disk,
which
makes
things
interesting
got
an
Ethernet
port.
It's
got
everything
you
need
basically
to
run
it
as
a
general
purpose.
A
A
A
I
was
actually
going
to
show
that
on
the
video,
but
that
does
this
is
better.
If
anyone
wants
to
see
it
running,
we
can
plug
in
a
laptop,
and
you
can
see
it
running
later
on
if
you
want
okay,
so
we
all
know
that
cassandra
is
good
at
reading
and
writing.
It's
very
fast
in
Sweden,
Fath
laptop
I've
got
here
will
do
about
12,000
write
operations.
Raspberry
pi
will
do
about
200,
okay,
so
you're
not
going
to
run
this
in
production
environments.
A
Let
me
tell
you:
okay,
actually,
if
you
try
running
it
with
an
external
USB,
Drive
is
actually
worse,
it's
all
down
to
the
hardware
and
basically
keep
the
cost
down.
They
shared
the
bus
between
ethernet
USB,
and
this
that's
going
to
slow
things
down.
It's
not
terribly
fast
anyway,
because
it's
about
the
same
speed
as
a
no
as
a
2001-2002
pc.
A
Then
there's
the
problem
of
java-
and
you
know
people
say,
don't
use
an
openjdk
jdk.
That's
one
reason
why,
certainly
on
a
Raspberry
Pi,
that
blue
line
is
open,
Jade,
a
key
openjdk,
the
top
line
is
oracle
jdk
you're
not
going
to
get
much
speed,
then
there's
a
problem
of
there's
two
different
variations
of
operating
system
on
pie,
there's
raspbian
and
debian
raspbian
is
accelerated
for
the
hardened
part
of
the
floating-point
accelerator.
The
oracle
jdk
wouldn't
run
on
that
until
quite
recently.
A
Fortunately,
they
released
a
beta
version
just
before
christmas.
That
I
have
I've
been
running
I
you
can
get
a
preview
version
from
it
now
doesn't
actually
make
much
difference
the
performance.
This
was
a
real
pain.
I
was
looking
forward
so
much
we
were.
We
were
actually
prodding.
Oracle
come
on,
get
a
release
for
a
Raspberry
Pi,
and
then
it
didn't
actually
make
any
difference.
Well,
no
real,
then
there's
a
problem
of
compression
as.
A
A
Used
to
be
used
to
be
said,
because
San
Jose
very
fast
for
writing
very
slow
for
reading
they
introduce
compression
and
that
sort
of
brought
those
two
into
the
same
same
to
a
level.
Two
types
of
compression
Google,
snappy
compression
and
deflate
compressor
version
2
of
Cassandra
they're,
bringing
in
a
new
variant
compression
entirely
problem
is
that
snappy
compression
doesn't
run
on
pike.
It
requires
native
methods.
This
actually
stopped
Cassandra
running
on
pie
for
quite
some
time
because
they
I
think
version
1
they
put
snappy
compression
on
by
default.
A
Snappy
compressor
actually
didn't
return
an
exception
and
it
just
returned
an
error
and
Cassandra
blew
up
in
your
face.
We
have
to
fix
that
then
there's
the
startup
script,
you
probably
don't
nourish.
You
guys
are
all
running
sensible,
presentable
machines.
A
startup
script
calculates
how
much
memory
based
on
the
number
of
processors,
raspberry,
pi,
returned.
0
processes.
You've
got
500
mega
memory.
You
divide
that
by
0
bang,
that's
been
fixed
in
the
Cassandra
end.
A
Fh
you'll
find
a
nice
line
like
that.
If
you
don't
have
that
turned
on
your
nodes,
aren't
going
to
talk
to
each
other,
okay,
you're
no
tool
won't
work
properly
and
then
in
1.2
they
added
their
a
used
condom
card
markers
JVM,
opt
guess
what
doesn't
work
on
the
Oracle
JDK
8.
We
have
to
get
rid
of
that.
If
you
are
trying
to
do
this
under
JDK
8,
then
you'll
have
to
go
into
that
shell
script
and
comment
those
lines
out.
A
Why
not
I
just
give
up?
There's
lots
of
problems
here?
Why
bother
doing
it?
One
thing
we
forgot
that
thing:
you're
passing
round
costs
25
pounds,
that's
about
thirty
dollars.
You
can
power
for
them
from
one
USB
hook.
This
is
this
is
how
I'm
powering
this
I
just
got
that
one
USB
hub
power
angle
forum
as
I,
was.
A
A
A
As
you
know,
adding
nodes
is
good.
Raspberry
pi
really
doesn't
like
being
unbalanced.
You
know
this
problem
when
you
don't
get
your
or
your
keys
in
the
right
place
in
the
comm
file
Amal
and
it
gets
unbalanced.
Raspberry
pi
really
doesn't
like
that.
You've
only
got
256
memory
makes
a
memory,
maybe
five
on
two
Meg's
of
memory.
What
happens?
Is
you
get
a
really
hot
spot
and
then
it
just
blows
up
that
dies
on
you,
so
you're
going
to
need
to
make
sure
your
ring
is
pied.
A
It's
then,
but
it'd
be
very
nice
if
it
could
use
1.2
at
this
point,
I've
not
got
long
point
to
running
on
a
cluster.
You
can
run
1.2
on
a
Raspberry
Pi
fine
running
on
a
cluster.
They
don't
like
talking
to
each
other
I'm.
Yet
to
get
to
the
bottom
of
that.
It
might
be
that
jmx
error
I
was
talking
about
early
earlier,
but
we'll
have
to
have
a
look.
A
This
is
a
graph
I
like
to
show
people.
This
is
performance
on
a
three
four
node
Raspberry
Pi.
You
can
see
where
maybe
getting
seven
hundred
operations
per.
Second
for
writing.
You
can
see
you
get
a
speed
increase.
This
is
using
the
stress
test,
command
I'm,
going
to
ask
anyone
in
the
audience.
Maybe
you
know
you
see
at
the
end,
you
see
the
green
line
and
the
blue
line
at
the
end
of
the
stress
test.
That
performance
drops
like
a
stone
anyone.
Any
ideas,
I'm
actually
asking
this
because
I
don't
know.
A
I'll
go
meet
an
expert
and
I'll
ask
them
now.
This
is
an
older
version
of
the
Cassandra
and
you
can
see
that
the
right
speed,
the
red
line
and
the
blue
line
at
the
bottom
quite
considerably
less
than
the
read
speed
there,
that's
of
four
five
six
node
insert
and
still
getting
that
drop
off
at
the
end,
but
you
can
see
that
we're
getting
a
reasonable
speed
increase.
As
we
add
nodes
on
the
Raspberry
Pi
I've
had
it
up
to
about
eight
nodes
and
I,
think
you
get
a
distinct
and
it
just
stops.
A
Getting
any
more
in
performance
performance
doesn't
improve
once
you
get
above
eight
notes,
I
think
that's
because
it's
becoming
network
bound.
You
know,
I'm
saying
earlier.
The
hardware
was
shared
between
the
SD
card
and
the
USB
in
the
network.
I
think
it
just
doesn't
won't
go
any
faster
than
that,
so
you
can
get
a
notary.
A
You
have
to
be
careful
when
you're
doing
this
because
say
snappy
compress
it
doesn't
exist.
You
have
to
use
the
deflate
compressor
to
be
able
to
get
this
to
work.
You'll
probably
have
to
do
that.
If
you're
going
to
do
any
programming
on
them
as
well
note
that
I
can
I
am
in
injecting
directly
into
multiple
nodes
there,
the
more
nodes
you
insert
into
the
faster
you're
going
to
get
it
running.
Of
course,.
A
Because
we
haven't
got
one
point:
two
we've
got
this
little
problem
now,
get
a
guess,
a
lot
of
you
guys
using
things
like
ops,
center
and
pop
it
etc
for
adding
nodes.
Yeah,
that's
sort
of
thing
can't
really
do
that
on
Raspberry
Pi
up
set
it
up
center
doesn't
want
to
run
I.
Think
that's
something
to
do
with
openssl,
not
there
not
being
entirely
supported
on
the
Raspberry
Pi.
A
A
Give
this
talk
quite
a
lot
to
people
who
are
interested
in
raspberry
PI's
and
aren't
interested
in
Cassandra,
so
I
include
this
just
for
them
really.
This
is
a
bit
of
Python
code
that
will
allow
me
to
calculate
her,
the
keys
that
we
and,
of
course
you
need
to
use
no
tool
to
move
your
stuff
around
and
if
you're
doing
this
by
hand
on
a
floor
node,
it's
quite
easy.
If
you're
doing
it
on
a
eight
nodes,
it
starts
to
get
to
be
a
pain.
A
One
thing
you
can
do
on
debian
and
or
on
raspbian
is
you
can
get
more
memory
by
default?
The
Raspberry
Pi
allocates
about
64
mega
thing
to
the
graphics
device.
You
don't
need
graphics
if
you're
running
cassandra
and
your
SS
aging
into
it,
you
just
need
to
be
able
to
get
as
much
memory
as
memory
as
you
want
on
the
old
version
on
debian.
You
can
just
do
that
by
going
into
the
boot
sector
and
you
copy
the
elf
files
it
like
that
which
gives
you
more
space
on
the
raspbian.
A
What
you
need
to
do
is
the
first
time
you
power
it
up.
It
powers
up
into
this
this
question
and
answer
session,
which
allows
you
to
set
up
and
how
much
memory
you're
going
to
use,
and
you
want
the
minimum
amount
of
memory
to
the
graphics,
as
you
possibly
can
I
always
use
static
network
addresses.
This
is
just
for
anyone.
Who's
never
actually
done
this
before.
For
those
you
guys
who
are
used
to
using
Windows,
perhaps
you
just
need
to
go
into,
etc,
network
interfaces
and
add
those
set
of
lines.
This
is
just
for
reference.
A
Because
this
is
all
on
a
SD
card,
you
can
basically
make
a
master
image
copy
the
contents
off
the
SD
card
onto
your
hard
disk
and
then
make
as
many
copies
as
you
like
so
I
work
in
University
of
Dundee.
One
of
the
things
were
wanting
to
do
with
these
is
to
use
them
for
teaching
people
about
how
to
set
up
Cassandra
clusters.
So
we
can
set
up
multiple
environments
on
different
SD
cards,
hand
them
round
to
the
students
they
can
copy
themselves.
A
If
you're,
not
using
the
data
stacks
community
edition,
you
need
to,
you
want
to
be
able
to
run
this
starting
up
on
their
power
up
I,
better.
We
get
up
site
there
with
a
Cassandra
startup
script
will
not
bother
showing
you
you,
but
if
you
want
to
you
can
download
that
and
you
can
use
that,
put
it
into
etc
and
it
be
and
use
update
our
fee.
Why
it's
d
to
get
it
to
run
on
power
up.
A
So
in
conclusion,
I
kind
of
ran
through
that
quick,
because
everyone
else
has
been
told
to
be
blurry
up,
200
200
quid.
We
can
get
an
eight
node,
Cassandra
club
there
cluster.
We
can
reconfigure
it,
we
can
blow
it
away,
we
can
stress
test
it
and
we
really
don't
care
what
happens
to
it
in
an
educational
environment
which
is
what
these
made.
For
you
can
hand
these
out
with
some
kid
decides,
they
want
to
steal
one
buy
another
one
for
25
quid
you're,
not
replacing
vast
quantities
of
machinery.
A
A
B
A
B
A
C
A
A
So
when
we
started
out
when
I
first
started
out,
the
sander
room
wouldn't
run
on
pie,
so
one
of
the
nice
things
that
this
little
exercise
has
done
is
that
it's
allowed
me
to
put
stuff
into
the
code
base.
That
means
it
now
does
ramp
I.
So
everyone
else
can
feel
my
pain
and
it
shook
out
some
Cassandra
bugs,
which
is
interesting.
A
One
of
the
interesting
things
that
we
have
an
MSC
and
we've
got
people
who
work
in
secure
labs,
in
other
words,
they're
not
allowed
to
bring
machines
in
they're
not
allowed
to
just
run
any
bit
of
software
or
any
bit
of
hardware
without
taking
six
months
before
they
can
actually
have
to
ask
to
be
sort
of
given
quick
QA.
He
sits
in
the
canteen
with
his
raspberry
PI's
and
were
and
tests
various
software
architectures.
A
A
Most
importantly,
when
I
set
out
this
I
set
out
to
do
this
just
for
fun
and
that's
what
really
is
all
about
pure
geeky
fun,
it's
the
same
sort
of
thing
that
makes
people
play
with
Arduino
is
to
make
people
drive.
Robots
can
I
make
this
and
ruin
on
this.
Yes,
you
can
I,
wouldn't
have
got
here
from
Scotland
if
I
didn't
have
that
slide.
So
basically
we're
running
a
data
science,
ms,
the
at
the
University
of
Dundee.
So
if
anyone's
interested
in
that
asked
me
about
it
later,.
A
A
Don't
about
10,000
hours
and
so
I
set
up
this
one.
This
is
one
point
one
point:
one
I
set
it
up
in
March,
I.
Think
in
my
spare
room
forgot
about
it
and
when
I
came
here
it
was
still
running.
Fine,
so
I
mean
is
that's
just
it
wasn't
being
loaded,
it
wasn't
being
stressed,
but
it
was
running
and
it
and
you
know
you
could
still
plug
in
and
do
everything
you're
meant
to
do
so.
It
seems
to
run
quite
happily
and
I
have
to
say
0.8
and
0.9
weren't
quite
so
resilient.
A
A
B
A
But
with
both
sides
arduino
eat
off
that,
because
the
standard
are
breathable
not
run
right,
not
run
Cassandra.
Now
standard
Arduino
to
memory
is
tiny
and
I
used
one
a
while
ago
for
other
things,
I
was
using
it
to
contact
yql
for
displaying
tweets
on
an
LCD
display
and
I
was
trying
to
store
the
top
ten
tweets.
I
was
getting
and
I
was
running
out
of
memory
just
trying
to
do
that.
Because
what
happens
is
it's?
It's.
B
A
A
B
A
A
They're
pretty
written
as
there's
no
moving
parts
and
you
these
these
cases
that
I've
got
this
in
they
cost
about
52
books
or
something
they're,
pretty
strong.
You
know,
I
mean.
Obviously,
if
you
broke
the
PCB,
then
that's
going
to
break
it,
but
everything
else
that
they're
they're
fairly
robust
they
are
essentially
and
when
it
comes
down
to
these
are
a
mobile
phone.
Without
the
the
phone
bitten
without
the
screen,
that's
all
they
are.