I have installed Cassandra 311 on ubuntu 1604. Everything works fine but I am not able to find SSTABLEDUMP utility in the bin folder.
How can I get this installed as patch? Or I am missing something?
Thanks.
Depending on which version you have installed:
DataStax Enterprise 5.0 Installer No-Services and tarball installations:
install_location/resources/cassandra/tools/bin
Cassandra tarball installations:
install_location/tools/bin/
For package installations (Cassandra package or DataStax Enterprise 5.0 Installer Services and package installations) you do not need to know the installation folder to run it, you can just simply use it as:
sstabledump [options] sstable_file
https://docs.datastax.com/en/cassandra/3.0/cassandra/tools/ToolsSSTabledump.html
Also to have the tools, you need to install cassandra-tools separately apart from cassandra:
sudo apt-get install cassandra-tools
My current version of Cassandra is 2.2.4 and I want to upgrade it to 3.0.10 with out losing any data. How is it possible?
My cluster consist of 3 nodes with replication factor of 2. Will this update affect my cluster architecture?
Steps for upgrade cassandra version
1. Run nodetool drain before shutting down the existing Cassandra service.
nodetool drain -h hostname
2. Stop cassandra services.
service cassandra stop
3. Back up your Cassandra configuration files from the old installation to safe place.
4. Update java version.
apt-get update
apt-get install oracle-java8-set-default
java -version
5. Install the new version of Apache Cassandra.
apt-get update
apt-get install cassandra=3.7.0
If you are running Cassandra from a source you should download the latest tar.gz instead of using the package manager.
6. Configure the new product. Review, compare, merge and/or update any modifications you have previously made into the new configuration files for the new version (cassandra.yml, cassandra-env.sh, etc.).
7. Start the cassandra services.
service cassandra start
Check the logs for warnings, errors, and exceptions.
tail -f /var/logs/cassandra/system.log # or path where you set your logs.
8. Run nodetool upgradesstables
nodetool upgradesstables
9. Check the logs for warnings, errors, and exceptions.
tail -f /var/logs/cassandra/system.log # or path where you set your logs.
10. Check the status of the cluster
nodetool -h hostname status
11. Repeat theses upgrade steps on each node in the cluster.
For more details please go to the link. upgrade Cassandra to the latest version
I had answered a similar question on dba.stackexchange, with data based on the DataStax upgrade documentation. Yes, you can upgrade your cluster without losing existing data, and yes there is a direct upgrade path from 2.2 to 3. The idea is to use a rolling-upgrade approach. Essentially, you'll want to follow these steps to upgrade:
Stop the node.
Back up your configuration files. Depending on how you install the product, these files may be overwritten with default values during the installation.
Install the binaries (via tarball, apt-get, yum, etc...) for the new version of Cassandra.
Configure the new product. Using the backups you made of your configuration files, merge any modifications you have previously made into the new configuration files for the new version. Configuration options change often, so be sure to double check the version restrictions for additional steps and changes regarding configuration. This is necessary when upgrading to Cassandra 3, as you cannot use the existing config files from 2.2 or lower.
Start the node.
Upgrade the sstables on each node: $ nodetool upgradesstables
Check the logs for warnings, errors and exceptions. Repeat on each node in the cluster. The upgradesstables step can be run on each node after the fact. Cassandra can read the sstables for one version lower, but you'll need to complete that step on all nodes to get the full benefits of the new Cassandra 3 storage engine.
Edit 20170518
Can you please explain the step 2. Where to install and how to install?
Since you are upgrading, it depends on how the initial install was done, which also depends on the OS and package manager (if any) used.
Debian-based Linux (Debian, Ubuntu, Knoppix)
sudo dpkg -S cassandra should tell you where it is installed.
Red Hat-based Linux (CentOS, Fedora, RHEL)
sudo rpm -q cassandra should tell you where it is installed.
If neither of those work, then your nodes were probably built with the tarball install process. And seriously, that's like anybody's guess as to where the binaries were installed. Common locations are /etc/cassandra, /opt/cassandra/ and /usr/local/cassandra.
Once you figure that out, you should be able to invoke an upgrade with your package manager using apt-get (Debian):
sudo apt-get update
sudo apt-get install casandra
For yum (Red Hat) right now I think you still need to download the RPM, as they don't quite have that in the correct repos yet:
sudo rpm cassandra-3.10-noarch.rpm
And if you're running on a tarball install, what I like to do is rename the directory before downloading and untaring the new binaries:
sudo mv /etc/cassandra /etc/cassandra_20170510
sudo mv ~/Downloads/apache-cassandra-3.10.tar.gz /etc/
cd /etc
sudo tar -zxvf apache-cassandra-3.10.tar.gz
sudo mv /etc/apache-cassandra-3.10 /etc/cassandra
And don't forget to change ownership on the new dir to match the previous install.
More information on the specifics behind this process (and each method) can be found on the Apache Cassandra Download page.
I have downloaded and installed Cassandra according to this guide: http://cassandra.apache.org/download/
Now I'd like to install Datastax DevCenter, but the problem is that I cannot find a standalone Datastax DevCenter download and / or instructions how to download and install only the Datastax DevCenter without installing and setting up yet another Cassandra node.
DeveCenter installation guide: http://docs.datastax.com/en/developer/devcenter/doc/devcenter/dcInstallation.html
According to the video the install will setup Cassandra node and optionally install DevCenter and other tools.
It is also said that the APT package installer does not install DevCenter:
http://docs.datastax.com/en/datastax_enterprise/5.0/datastax_enterprise/install/installDEBdse.html
I have Ubuntu 16.04
Sorry to answer my own question, but I found the link where to download all datastax tools:
https://academy.datastax.com/downloads/ops-center?destination=downloads/ops-center&dxt=DXcom
I tried installing it 2 times and still got the same error.
I followed the instructions here. http://docs.datastax.com/en/datastax_enterprise/4.7/datastax_enterprise/install/installDEBdse.html
root#node1:~$ Error opening zip file or JAR manifest missing : /usr/sbin/../lib/jamm-0.3.0.jar
Error occurred during initialization of VM
agent library failed to init: instrument
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
TL;DR: Somehow you need to get ./resources/cassandra/lib/jamm-0.3.0.jar in your your DSE installation directory and remove any older versions.
DSE 4.7 uses Cassandra 2.1.8 under the hood. C* 2.1 uses jamm 3.0. Older versions of cassandra, 2.0 and previous used jamm 2.5. If you had a previous install of either an older c* or an older DSE on this environment, some of your old dependencies may be stuck.
If you're on Debian using the package installer try running:
sudo aptitude install dse-full=version
Which should pick up the right dependencies.
If not, apt-get purge dse-full and then re-installing might also work.
There are similar commands for yum in RHEL.
How can I install Cassandra DataStax Enterprise on RHEL6 in a non-default location and still have it run as a service?
Try using --installroot with yum:
--installroot=root
Specifies an alternative installroot, relative to which all packages will be installed.