---
layout: docpage

title: "Documentation"

is_homepage: false
is_sphinx_doc: true

doc-parent: "Getting Started"

doc-title: "Installing Cassandra"
doc-header-links: '
  <link rel="top" title="Apache Cassandra Documentation v4.0-alpha4" href="../index.html"/>
      <link rel="up" title="Getting Started" href="index.html"/>
      <link rel="next" title="Configuring Cassandra" href="configuring.html"/>
      <link rel="prev" title="Getting Started" href="index.html"/>
'
doc-search-path: "../search.html"

extra-footer: '
<script type="text/javascript">
    var DOCUMENTATION_OPTIONS = {
      URL_ROOT:    "",
      VERSION:     "",
      COLLAPSE_INDEX: false,
      FILE_SUFFIX: ".html",
      HAS_SOURCE:  false,
      SOURCELINK_SUFFIX: ".txt"
    };
</script>
'

---
<div class="container-fluid">
  <div class="row">
    <div class="col-md-3">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Getting Started</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Installing Cassandra</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="#installation-from-binary-tarball-files">Installation from binary tarball files</a></li>
<li class="toctree-l3"><a class="reference internal" href="#installation-from-debian-packages">Installation from Debian packages</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="configuring.html">Configuring Cassandra</a></li>
<li class="toctree-l2"><a class="reference internal" href="querying.html">Inserting and querying</a></li>
<li class="toctree-l2"><a class="reference internal" href="drivers.html">Client drivers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../new/index.html">New Features in Apache Cassandra 4.0</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="content-container">
          
  <div class="section" id="installing-cassandra">
<h1>Installing Cassandra<a class="headerlink" href="#installing-cassandra" title="Permalink to this headline">¶</a></h1>
<div class="section" id="prerequisites">
<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>The latest version of Java 8, either the <a class="reference external" href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Oracle Java Standard Edition 8</a> or <a class="reference external" href="http://openjdk.java.net/">OpenJDK 8</a>. To
verify that you have the correct version of java installed, type <code class="docutils literal notranslate"><span class="pre">java</span> <span class="pre">-version</span></code>.</li>
<li>For using cqlsh, the latest version of <a class="reference external" href="https://www.python.org/downloads/">Python 2.7</a>. To verify that you have
the correct version of Python installed, type <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">--version</span></code>.</li>
</ul>
</div>
<div class="section" id="installation-from-binary-tarball-files">
<h2>Installation from binary tarball files<a class="headerlink" href="#installation-from-binary-tarball-files" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Download the latest stable release from the <a class="reference external" href="http://cassandra.apache.org/download/">Apache Cassandra downloads website</a>.</li>
<li>Untar the file somewhere, for example:</li>
</ul>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>tar -xzvf apache-cassandra-3.6-bin.tar.gz
</pre></div>
</div>
<p>The files will be extracted into <code class="docutils literal notranslate"><span class="pre">apache-cassandra-3.6</span></code>, you need to substitute 3.6 with the release number that you
have downloaded.</p>
<ul class="simple">
<li>Optionally add <code class="docutils literal notranslate"><span class="pre">apache-cassandra-3.6\bin</span></code> to your path.</li>
<li>Start Cassandra in the foreground by invoking <code class="docutils literal notranslate"><span class="pre">bin/cassandra</span> <span class="pre">-f</span></code> from the command line. Press “Control-C” to stop
Cassandra. Start Cassandra in the background by invoking <code class="docutils literal notranslate"><span class="pre">bin/cassandra</span></code> from the command line. Invoke <code class="docutils literal notranslate"><span class="pre">kill</span> <span class="pre">pid</span></code>
or <code class="docutils literal notranslate"><span class="pre">pkill</span> <span class="pre">-f</span> <span class="pre">CassandraDaemon</span></code> to stop Cassandra, where pid is the Cassandra process id, which you can find for
example by invoking <code class="docutils literal notranslate"><span class="pre">pgrep</span> <span class="pre">-f</span> <span class="pre">CassandraDaemon</span></code>.</li>
<li>Verify that Cassandra is running by invoking <code class="docutils literal notranslate"><span class="pre">bin/nodetool</span> <span class="pre">status</span></code> from the command line.</li>
<li>Configuration files are located in the <code class="docutils literal notranslate"><span class="pre">conf</span></code> sub-directory.</li>
<li>Since Cassandra 2.1, log and data directories are located in the <code class="docutils literal notranslate"><span class="pre">logs</span></code> and <code class="docutils literal notranslate"><span class="pre">data</span></code> sub-directories respectively.
Older versions defaulted to <code class="docutils literal notranslate"><span class="pre">/var/log/cassandra</span></code> and <code class="docutils literal notranslate"><span class="pre">/var/lib/cassandra</span></code>. Due to this, it is necessary to either
start Cassandra with root privileges or change <code class="docutils literal notranslate"><span class="pre">conf/cassandra.yaml</span></code> to use directories owned by the current user,
as explained below in the section on changing the location of directories.</li>
</ul>
</div>
<div class="section" id="installation-from-debian-packages">
<h2>Installation from Debian packages<a class="headerlink" href="#installation-from-debian-packages" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Add the Apache repository of Cassandra to <code class="docutils literal notranslate"><span class="pre">/etc/apt/sources.list.d/cassandra.sources.list</span></code>, for example for version
3.6:</li>
</ul>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>echo &quot;deb http://www.apache.org/dist/cassandra/debian 36x main&quot; | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
</pre></div>
</div>
<ul class="simple">
<li>Add the Apache Cassandra repository keys:</li>
</ul>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
</pre></div>
</div>
<ul class="simple">
<li>Update the repositories:</li>
</ul>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo apt-get update
</pre></div>
</div>
<ul class="simple">
<li>If you encounter this error:</li>
</ul>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>GPG error: http://www.apache.org 36x InRelease: The following signatures couldn&#39;t be verified because the public key is not available: NO_PUBKEY A278B781FE4B2BDA
</pre></div>
</div>
<p>Then add the public key A278B781FE4B2BDA as follows:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-key A278B781FE4B2BDA
</pre></div>
</div>
<p>and repeat <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">apt-get</span> <span class="pre">update</span></code>. The actual key may be different, you get it from the error message itself. For a
full list of Apache contributors public keys, you can refer to <a class="reference external" href="https://www.apache.org/dist/cassandra/KEYS">this link</a>.</p>
<ul class="simple">
<li>Install Cassandra:</li>
</ul>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>sudo apt-get install cassandra
</pre></div>
</div>
<ul class="simple">
<li>You can start Cassandra with <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">service</span> <span class="pre">cassandra</span> <span class="pre">start</span></code> and stop it with <code class="docutils literal notranslate"><span class="pre">sudo</span> <span class="pre">service</span> <span class="pre">cassandra</span> <span class="pre">stop</span></code>.
However, normally the service will start automatically. For this reason be sure to stop it if you need to make any
configuration changes.</li>
<li>Verify that Cassandra is running by invoking <code class="docutils literal notranslate"><span class="pre">nodetool</span> <span class="pre">status</span></code> from the command line.</li>
<li>The default location of configuration files is <code class="docutils literal notranslate"><span class="pre">/etc/cassandra</span></code>.</li>
<li>The default location of log and data directories is <code class="docutils literal notranslate"><span class="pre">/var/log/cassandra/</span></code> and <code class="docutils literal notranslate"><span class="pre">/var/lib/cassandra</span></code>.</li>
</ul>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="configuring.html" class="btn btn-default pull-right " role="button" title="Configuring Cassandra" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="index.html" class="btn btn-default" role="button" title="Getting Started" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
  </div>
</div>