Skip to content

Instantly share code, notes, and snippets.

@petewarden
Created December 5, 2011 22:56
Show Gist options
  • Save petewarden/1435792 to your computer and use it in GitHub Desktop.
Save petewarden/1435792 to your computer and use it in GitHub Desktop.
How to upgrade a 0.8.1 Datastax Cassandra AMI to 0.8.7
# Grab the 0.8.7 binaries, you may need to use a more current mirror
curl -O "http://mirrors.ibiblio.org/apache//cassandra/0.8.7/apache-cassandra-0.8.7-bin.tar.gz"
tar -xzf apache-cassandra-0.8.7-bin.tar.gz
# Shut down Cassandra before changing anything, may take a minute or two
sudo service cassandra stop
# Make backups of the directories we'll be altering
sudo cp -R /usr/bin /usr/bin_original
sudo cp -R /usr/share/cassandra /usr/share/cassandra_original
sudo cp /usr/sbin/cassandra /usr/sbin/cassandra_original
# Move the new command files into place
CAS_SOURCE=/home/ubuntu/apache-cassandra-0.8.7
sudo rm -rf /usr/sbin/cassandra
sudo ln -s $CAS_SOURCE/bin/cassandra /usr/sbin/cassandra
sudo rm -rf /usr/bin/cassandra-cli
sudo ln -s $CAS_SOURCE/bin/cassandra-cli /usr/bin/cassandra-cli
sudo rm -rf /usr/bin/json2sstable
sudo ln -s $CAS_SOURCE/bin/json2sstable /usr/bin/json2sstable
sudo rm -rf /usr/bin/nodetool
sudo ln -s $CAS_SOURCE/bin/nodetool /usr/bin/nodetool
sudo rm -rf /usr/bin/sstable2json
sudo ln -s $CAS_SOURCE/bin/sstable2json /usr/bin/sstable2json
sudo rm -rf /usr/bin/sstablekeys
sudo ln -s $CAS_SOURCE/bin/sstablekeys /usr/bin/sstablekeys
sudo rm -rf /usr/bin/sstableloader
sudo ln -s $CAS_SOURCE/bin/sstableloader /usr/bin/sstableloader
sudo rm -rf /usr/bin/stop-server
sudo ln -s $CAS_SOURCE/bin/stop-server /usr/bin/stop-server
# Move the updated library jars into position
cd $CAS_SOURCE
sudo cp lib/apache-cassandra-0.8.7.jar /usr/share/cassandra/
sudo cp lib/apache-cassandra-thrift-0.8.7.jar /usr/share/cassandra/
sudo rm -rf /usr/share/cassandra/apache-cassandra.jar
sudo rm -rf /usr/share/cassandra/apache-cassandra-thrift-0.8.1.jar
sudo rm -rf /usr/share/cassandra/apache-cassandra-0.8.1.jar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment