File structures of Cassandra and how to specify its directory in Cassandra Cluster Manager (CCM)?

cassandra, cassandra-2.0, configuration, datastax, ubuntu

Solution

CCM doesn't use binary Cassandra installs, it always builds from source (it's originally a dev tool).

`--cassandra-dir` is when you want to point it at an existing source directory (typically, when you're hacking on Cassandra and want to try your modified version).

Otherwise, you can simply give it a Cassandra version and it will download and compile the sources for you:

ccm create my_cluster_name -v 2.0.9

I don't know if you've seen it already, but the README on GitHub contains useful information.

Problem

I have successfully installed Cassandra-2.0.9 following the DATASTAX document on Ubuntu 14.04 LTS. For a quick test of cluster on local machine, I then installed the Cassandra Cluster Manager (CCM) tool. To create a cluster, a command like `ccm create --cassandra-dir *** --nodes 3 --start test` is issued, which is expected to set up and start a 3-node cluster named "test". However, I am not sure what the cassandra-directory is under my current installation. My questions: - What `cassandra-dir` should be specified? - How are the Cassandra files organized? As a novice of Ubuntu, I am quite confused about the files scattered in different directories. P.S.: The command `dpkg -L cassandra` gives the following list of Cassandra-related files. If you need more information, please free feel to ask. Thanks. ``` /. /var /var/lib /var/lib/cassandra /var/log /var/log/cassandra /usr /usr/bin /usr/bin/sstablesplit /usr/bin/sstablelevelreset /usr/bin/cassandra-shuffle /usr/bin/sstable2json /usr/bin/json2sstable /usr/bin/cassandra-cli /usr/bin/nodetool /usr/bin/sstablekeys /usr/bin/cqlsh /usr/bin/cassandra-stress /usr/bin/token-generator /usr/bin/sstableloader /usr/bin/sstablescrub /usr/bin/sstableupgrade /usr/bin/sstablemetadata /usr/share /usr/share/cassandra /usr/share/cassandra/apache-cassandra-thrift-2.0.9.jar /usr/share/cassandra/stress.jar /usr/share/cassandra/apache-cassandra-2.0.9.jar /usr/share/cassandra/lib /usr/share/cassandra/lib/thrift-server-internal-only-0.3.3.jar /usr/share/cassandra/lib/servlet-api-2.5-20081211.jar /usr/share/cassandra/lib/high-scale-lib-1.1.2.jar /usr/share/cassandra/lib/log4j-1.2.16.jar /usr/share/cassandra/lib/metrics-core-2.2.0.jar /usr/share/cassandra/lib/antlr-3.2.jar /usr/share/cassandra/lib/commons-codec-1.2.jar /usr/share/cassandra/lib/jline-1.0.jar /usr/share/cassandra/lib/snaptree-0.1.jar /usr/share/cassandra/lib/concurrentlinkedhashmap-lru-1.3.jar /usr/share/cassandra/lib/cql-internal-only-1.4.1.zip /usr/share/cassandra/lib/jamm-0.2.5.jar /usr/share/cassandra/lib/guava-15.0.jar /usr/share/cassandra/lib/snakeyaml-1.11.jar /usr/share/cassandra/lib/slf4j-api-1.7.2.jar /usr/share/cassandra/lib/thrift-python-internal-only-0.9.1.zip /usr/share/cassandra/lib/snappy-java-1.0.5.jar /usr/share/cassandra/lib/json-simple-1.1.jar /usr/share/cassandra/lib/libthrift-0.9.1.jar /usr/share/cassandra/lib/jackson-mapper-asl-1.9.2.jar /usr/share/cassandra/lib/disruptor-3.0.1.jar /usr/share/cassandra/lib/netty-3.6.6.Final.jar /usr/share/cassandra/lib/commons-lang3-3.1.jar /usr/share/cassandra/lib/super-csv-2.1.0.jar /usr/share/cassandra/lib/slf4j-log4j12-1.7.2.jar /usr/share/cassandra/lib/jbcrypt-0.3m.jar /usr/share/cassandra/lib/compress-lzf-0.8.4.jar /usr/share/cassandra/lib/jackson-core-asl-1.9.2.jar /usr/share/cassandra/lib/commons-cli-1.1.jar /usr/share/cassandra/lib/reporter-config-2.1.0.jar /usr/share/cassandra/lib/lz4-1.2.0.jar /usr/share/cassandra/cassandra.in.sh /usr/share/doc /usr/share/doc/cassandra /usr/share/doc/cassandra/CHANGES.txt.gz /usr/share/doc/cassandra/licenses /usr/share/doc/cassandra/licenses/antlr-3.2.txt /usr/share/doc/cassandra/licenses/netty-3.5.9.txt.gz /usr/share/doc/cassandra/licenses/jackson-core-asl-1.9.2.txt.gz /usr/share/doc/cassandra/licenses/log4j-1.2.16.txt.gz /usr/share/doc/cassandra/licenses/thrift-python-0.9.1.txt.gz /usr/share/doc/cassandra/licenses/snakeyaml-1.11.txt.gz /usr/share/doc/cassandra/licenses/jackson-mapper-asl-1.9.2.txt.gz /usr/share/doc/cassandra/licenses/super-csv-2.1.0.txt.gz /usr/share/doc/cassandra/licenses/slf4j-log4j12-1.7.2.txt /usr/share/doc/cassandra/licenses/metrics-core-2.2.0.txt.gz /usr/share/doc/cassandra/licenses/commons-lang3-3.1.txt.gz /usr/share/doc/cassandra/licenses/jline-1.0.txt /usr/share/doc/cassandra/licenses/thrift-server-0.3.3.txt.gz /usr/share/doc/cassandra/licenses/commons-cli-1.1.txt.gz /usr/share/doc/cassandra/licenses/json-simple-1.1.txt.gz /usr/share/doc/cassandra/licenses/servlet-api-2.5-20081211.txt.gz /usr/share/doc/cassandra/licenses/commons-codec-1.2.txt.gz /usr/share/doc/cassandra/licenses/jbcrypt-0.3m.txt /usr/share/doc/cassandra/licenses/guava-15.0.txt.gz /usr/share/doc/cassandra/licenses/disruptor-3.0.1.txt.gz /usr/share/doc/cassandra/licenses/libthrift-0.9.1.txt.gz /usr/share/doc/cassandra/licenses/cql-1.4.0.txt.gz /usr/share/doc/cassandra/licenses/reporter-config-2.1.0.txt.gz /usr/share/doc/cassandra/licenses/netty-3.6.6.txt.gz /usr/share/doc/cassandra/licenses/slf4j-api-1.7.2.txt /usr/share/doc/cassandra/licenses/compress-lzf-0.8.4.txt /usr/share/doc/cassandra/licenses/high-scale-lib-1.1.2.txt /usr/share/doc/cassandra/licenses/concurrentlinkedhashmap-lru-1.3.txt.gz /usr/share/doc/cassandra/licenses/snaptree-0.1.txt.gz /usr/share/doc/cassandra/licenses/lz4-1.2.0.txt.gz /usr/share/doc/cassandra/licenses/snappy-java-1.0.5.txt.gz /usr/share/doc/cassandra/licenses/jamm-0.2.5.txt.gz /usr/share/doc/cassandra/copyright /usr/share/doc/cassandra/changelog.gz /usr/share/doc/cassandra/README.Debian /usr/share/doc/cassandra/README.asc /usr/share/doc/cassandra/TODO /usr/share/doc/cassandra/NEWS.txt.gz /usr/share/pyshared /usr/share/pyshared/cassandra_pylib-0.0.0.egg-info /usr/share/pyshared/cqlshlib /usr/share/pyshared/cqlshlib/helptopics.py /usr/share/pyshared/cqlshlib/saferscanner.py /usr/share/pyshared/cqlshlib/formatting.py /usr/share/pyshared/cqlshlib/pylexotron.py /usr/share/pyshared/cqlshlib/util.py /usr/share/pyshared/cqlshlib/__init__.py /usr/share/pyshared/cqlshlib/tfactory.py /usr/share/pyshared/cqlshlib/displaying.py /usr/share/pyshared/cqlshlib/tracing.py /usr/share/pyshared/cqlshlib/wcwidth.py /usr/share/pyshared/cqlshlib/cqlhandling.py /usr/share/pyshared/cqlshlib/cql3handling.py /usr/share/pyshared/cqlshlib/ssl.py /usr/share/python-support /usr/share/python-support/cassandra.public /usr/sbin /usr/sbin/cassandra /etc /etc/cassandra /etc/cassandra/commitlog_archiving.properties /etc/cassandra/cassandra-topology.yaml /etc/cassandra/log4j-server.properties /etc/cassandra/triggers /etc/cassandra/triggers/README.txt /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra-topology.properties /etc/cassandra/log4j-tools.properties /etc/cassandra/cassandra-rackdc.properties /etc/cassandra/cassandra-env.sh /etc/security /etc/security/limits.d /etc/security/limits.d/cassandra.conf /etc/init.d /etc/init.d/cassandra /etc/sysctl.d /etc/sysctl.d/cassandra.conf /etc/default /etc/default/cassandra /usr/share/cassandra/apache-cassandra.jar ```

Original source