Added: cassandra/site/publish/doc/3.10/faq/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.10/faq/index.html?rev=1757435&view=auto ============================================================================== --- cassandra/site/publish/doc/3.10/faq/index.html (added) +++ cassandra/site/publish/doc/3.10/faq/index.html Tue Aug 23 20:58:08 2016 @@ -0,0 +1,462 @@ +<!DOCTYPE html> +<html> + + + + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages. +"> + <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" /> + <meta name="robots" content="index,follow" /> + <meta name="language" content="en" /> + + <title>Documentation</title> + + <link rel="canonical" href="http://cassandra.apache.org/doc/3.10/faq/"> + + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> + <link rel="stylesheet" href="./../../../css/style.css"> + + <link rel="stylesheet" href="./../../../css/sphinx.css"> + + + <link rel="top" title="Apache Cassandra Documentation v3.10" href="../index.html"/> <link rel="next" title="Reporting Bugs and Contributing" href="../bugs.html"/> <link rel="prev" title="How-to Commit" href="../development/how_to_commit.html"/> +</head> + + <body> + <!-- breadcrumbs --> +<div class="topnav"> + <div class="container breadcrumb-container"> + <ul class="breadcrumb"> + <li> + <div class="dropdown"> + <img class="asf-logo" src="./../../../img/asf_feather.png" /> + <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <li><a href="http://www.apache.org">Apache Homepage</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </div> + </li> + + + <li><a href="./../../../">Apache Cassandra</a></li> + + + + + <li><a href="./../../../doc">Documentation</a></li> + + + + + + + <li>Frequently Asked Questions</li> + + </ul> + </div> + + <!-- navbar --> + <nav class="navbar navbar-default navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a> + </div><!-- /.navbar-header --> + + <div id="cassandra-menu" class="collapse navbar-collapse"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="./../../../">Home</a></li> + <li><a href="./../../../download/">Download</a></li> + <li><a href="./../../../doc/">Documentation</a></li> + <li><a href="./../../../community/">Community</a></li> + </ul> + </div><!-- /#cassandra-menu --> + + + </div> + </nav><!-- /.navbar --> +</div><!-- /.topnav --> + + <div class="container-fluid"> + <div class="row"> + <div class="col-md-2"> + <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"><a class="reference internal" href="../getting_started/index.html">Getting Started</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="../data_modeling/index.html">Data Modeling</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="../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">Cassandra Development</a></li> +<li class="toctree-l1 current"><a class="current reference internal" href="#">Frequently Asked Questions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="#why-can-t-i-set-listen-address-to-listen-on-0-0-0-0-all-my-addresses">Why can’t I set <code class="docutils literal"><span class="pre">listen_address</span></code> to listen on 0.0.0.0 (all my addresses)?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#what-ports-does-cassandra-use">What ports does Cassandra use?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#what-happens-to-existing-data-in-my-cluster-when-i-add-new-nodes">What happens to existing data in my cluster when I add new nodes?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#i-delete-data-from-cassandra-but-disk-usage-stays-the-same-what-gives">I delete data from Cassandra, but disk usage stays the same. What gives?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#why-does-nodetool-ring-only-show-one-entry-even-though-my-nodes-logged-that-they-see-each-other-joining-the-ring">Why does nodetool ring only show one entry, even though my nodes logged that they see each other joining the ring?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#can-i-change-the-replication-factor-a-a-keyspace-on-a-live-cluster">Can I change the replication factor (a a keyspace) on a live cluster?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#can-i-store-large-blobs-in-cassandra">Can I Store (large) BLOBs in Cassandra?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#nodetool-says-connection-refused-to-host-127-0-1-1-for-any-remote-host-what-gives">Nodetool says “Connection refused to host: 127.0.1.1” for any remote host. What gives?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#will-batching-my-operations-speed-up-my-bulk-load">Will batching my operations speed up my bulk load?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#on-rhel-nodes-are-unable-to-join-the-ring">On RHEL nodes are unable to join the ring</a></li> +<li class="toctree-l2"><a class="reference internal" href="#how-do-i-unsubscribe-from-the-email-list">How do I unsubscribe from the email list?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#why-does-top-report-that-cassandra-is-using-a-lot-more-memory-than-the-java-heap-max">Why does top report that Cassandra is using a lot more memory than the Java heap max?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#what-are-seeds">What are seeds?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#does-single-seed-mean-single-point-of-failure">Does single seed mean single point of failure?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#why-can-t-i-call-jmx-method-x-on-jconsole">Why can’t I call jmx method X on jconsole?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#why-do-i-see-messages-dropped-in-the-logs">Why do I see ”... messages dropped ...” in the logs?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#cassandra-dies-with-java-lang-outofmemoryerror-map-failed">Cassandra dies with <code class="docutils literal"><span class="pre">java.lang.OutOfMemoryError:</span> <span class="pre">Map</span> <span class="pre">failed</span></code></a></li> +<li class="toctree-l2"><a class="reference internal" href="#what-happens-if-two-updates-are-made-with-the-same-timestamp">What happens if two updates are made with the same timestamp?</a></li> +<li class="toctree-l2"><a class="reference internal" href="#why-bootstrapping-a-new-node-fails-with-a-stream-failed-error">Why bootstrapping a new node fails with a “Stream failed” error?</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs and Contributing</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="container"> + + <div class="section" id="frequently-asked-questions"> +<h1>Frequently Asked Questions<a class="headerlink" href="#frequently-asked-questions" title="Permalink to this headline">¶</a></h1> +<ul class="simple"> +<li><a class="reference internal" href="#why-cant-list-all"><span class="std std-ref">Why can’t I set listen_address to listen on 0.0.0.0 (all my addresses)?</span></a></li> +<li><a class="reference internal" href="#what-ports"><span class="std std-ref">What ports does Cassandra use?</span></a></li> +<li><a class="reference internal" href="#what-happens-on-joins"><span class="std std-ref">What happens to existing data in my cluster when I add new nodes?</span></a></li> +<li><a class="reference internal" href="#asynch-deletes"><span class="std std-ref">I delete data from Cassandra, but disk usage stays the same. What gives?</span></a></li> +<li><a class="reference internal" href="#one-entry-ring"><span class="std std-ref">Why does nodetool ring only show one entry, even though my nodes logged that they see each other joining the ring?</span></a></li> +<li><a class="reference internal" href="#can-large-blob"><span class="std std-ref">Can I Store (large) BLOBs in Cassandra?</span></a></li> +<li><a class="reference internal" href="#nodetool-connection-refused"><span class="std std-ref">Nodetool says “Connection refused to host: 127.0.1.1” for any remote host. What gives?</span></a></li> +<li><a class="reference internal" href="#to-batch-or-not-to-batch"><span class="std std-ref">Will batching my operations speed up my bulk load?</span></a></li> +<li><a class="reference internal" href="#selinux"><span class="std std-ref">On RHEL nodes are unable to join the ring</span></a></li> +<li><a class="reference internal" href="#how-to-unsubscribe"><span class="std std-ref">How do I unsubscribe from the email list?</span></a></li> +<li><a class="reference internal" href="#cassandra-eats-all-my-memory"><span class="std std-ref">Why does top report that Cassandra is using a lot more memory than the Java heap max?</span></a></li> +<li><a class="reference internal" href="#what-are-seeds"><span class="std std-ref">What are seeds?</span></a></li> +<li><a class="reference internal" href="#are-seeds-spof"><span class="std std-ref">Does single seed mean single point of failure?</span></a></li> +<li><a class="reference internal" href="#why-message-dropped"><span class="std std-ref">Why do I see ”... messages dropped ...” in the logs?</span></a></li> +<li><a class="reference internal" href="#oom-map-failed"><span class="std std-ref">Cassandra dies with java.lang.OutOfMemoryError: Map failed</span></a></li> +<li><a class="reference internal" href="#what-on-same-timestamp-update"><span class="std std-ref">What happens if two updates are made with the same timestamp?</span></a></li> +<li><a class="reference internal" href="#why-bootstrapping-stream-error"><span class="std std-ref">Why bootstrapping a new node fails with a “Stream failed” error?</span></a></li> +</ul> +<div class="section" id="why-can-t-i-set-listen-address-to-listen-on-0-0-0-0-all-my-addresses"> +<span id="why-cant-list-all"></span><h2>Why can’t I set <code class="docutils literal"><span class="pre">listen_address</span></code> to listen on 0.0.0.0 (all my addresses)?<a class="headerlink" href="#why-can-t-i-set-listen-address-to-listen-on-0-0-0-0-all-my-addresses" title="Permalink to this headline">¶</a></h2> +<p>Cassandra is a gossip-based distributed system and <code class="docutils literal"><span class="pre">listen_address</span></code> is the address a node tells other nodes to reach +it at. Telling other nodes “contact me on any of my addresses” is a bad idea; if different nodes in the cluster pick +different addresses for you, Bad Things happen.</p> +<p>If you don’t want to manually specify an IP to <code class="docutils literal"><span class="pre">listen_address</span></code> for each node in your cluster (understandable!), leave +it blank and Cassandra will use <code class="docutils literal"><span class="pre">InetAddress.getLocalHost()</span></code> to pick an address. Then it’s up to you or your ops team +to make things resolve correctly (<code class="docutils literal"><span class="pre">/etc/hosts/</span></code>, dns, etc).</p> +<p>One exception to this process is JMX, which by default binds to 0.0.0.0 (Java bug 6425769).</p> +<p>See <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-256">CASSANDRA-256</a> and <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-43">CASSANDRA-43</a> for more gory details.</p> +</div> +<div class="section" id="what-ports-does-cassandra-use"> +<span id="what-ports"></span><h2>What ports does Cassandra use?<a class="headerlink" href="#what-ports-does-cassandra-use" title="Permalink to this headline">¶</a></h2> +<p>By default, Cassandra uses 7000 for cluster communication (7001 if SSL is enabled), 9042 for native protocol clients, +and 7199 for JMX (and 9160 for the deprecated Thrift interface). The internode communication and native protocol ports +are configurable in the <a class="reference internal" href="../configuration/cassandra_config_file.html#cassandra-yaml"><span class="std std-ref">Cassandra Configuration File</span></a>. The JMX port is configurable in <code class="docutils literal"><span class="pre">cassandra-env.sh</span></code> (through JVM +options). All ports are TCP.</p> +</div> +<div class="section" id="what-happens-to-existing-data-in-my-cluster-when-i-add-new-nodes"> +<span id="what-happens-on-joins"></span><h2>What happens to existing data in my cluster when I add new nodes?<a class="headerlink" href="#what-happens-to-existing-data-in-my-cluster-when-i-add-new-nodes" title="Permalink to this headline">¶</a></h2> +<p>When a new nodes joins a cluster, it will automatically contact the other nodes in the cluster and copy the right data +to itself. See <a class="reference internal" href="../operating/topo_changes.html#topology-changes"><span class="std std-ref">Adding, replacing, moving and removing nodes</span></a>.</p> +</div> +<div class="section" id="i-delete-data-from-cassandra-but-disk-usage-stays-the-same-what-gives"> +<span id="asynch-deletes"></span><h2>I delete data from Cassandra, but disk usage stays the same. What gives?<a class="headerlink" href="#i-delete-data-from-cassandra-but-disk-usage-stays-the-same-what-gives" title="Permalink to this headline">¶</a></h2> +<p>Data you write to Cassandra gets persisted to SSTables. Since SSTables are immutable, the data can’t actually be removed +when you perform a delete, instead, a marker (also called a “tombstone”) is written to indicate the value’s new status. +Never fear though, on the first compaction that occurs between the data and the tombstone, the data will be expunged +completely and the corresponding disk space recovered. See <a class="reference internal" href="../operating/compaction.html#compaction"><span class="std std-ref">Compaction</span></a> for more detail.</p> +</div> +<div class="section" id="why-does-nodetool-ring-only-show-one-entry-even-though-my-nodes-logged-that-they-see-each-other-joining-the-ring"> +<span id="one-entry-ring"></span><h2>Why does nodetool ring only show one entry, even though my nodes logged that they see each other joining the ring?<a class="headerlink" href="#why-does-nodetool-ring-only-show-one-entry-even-though-my-nodes-logged-that-they-see-each-other-joining-the-ring" title="Permalink to this headline">¶</a></h2> +<p>This happens when you have the same token assigned to each node. Don’t do that.</p> +<p>Most often this bites people who deploy by installing Cassandra on a VM (especially when using the Debian package, which +auto-starts Cassandra after installation, thus generating and saving a token), then cloning that VM to other nodes.</p> +<p>The easiest fix is to wipe the data and commitlog directories, thus making sure that each node will generate a random +token on the next restart.</p> +</div> +<div class="section" id="can-i-change-the-replication-factor-a-a-keyspace-on-a-live-cluster"> +<span id="change-replication-factor"></span><h2>Can I change the replication factor (a a keyspace) on a live cluster?<a class="headerlink" href="#can-i-change-the-replication-factor-a-a-keyspace-on-a-live-cluster" title="Permalink to this headline">¶</a></h2> +<p>Yes, but it will require running repair (or cleanup) to change the replica count of existing data:</p> +<ul class="simple"> +<li><a class="reference internal" href="../cql/ddl.html#alter-keyspace-statement"><span class="std std-ref">Alter</span></a> the replication factor for desired keyspace (using cqlsh for instance).</li> +<li>If you’re reducing the replication factor, run <code class="docutils literal"><span class="pre">nodetool</span> <span class="pre">cleanup</span></code> on the cluster to remove surplus replicated data. +Cleanup runs on a per-node basis.</li> +<li>If you’re increasing the replication factor, run <code class="docutils literal"><span class="pre">nodetool</span> <span class="pre">repair</span></code> to ensure data is replicated according to the new +configuration. Repair runs on a per-replica set basis. This is an intensive process that may result in adverse cluster +performance. It’s highly recommended to do rolling repairs, as an attempt to repair the entire cluster at once will +most likely swamp it.</li> +</ul> +</div> +<div class="section" id="can-i-store-large-blobs-in-cassandra"> +<span id="can-large-blob"></span><h2>Can I Store (large) BLOBs in Cassandra?<a class="headerlink" href="#can-i-store-large-blobs-in-cassandra" title="Permalink to this headline">¶</a></h2> +<p>Cassandra isn’t optimized for large file or BLOB storage and a single <code class="docutils literal"><span class="pre">blob</span></code> value is always read and send to the +client entirely. As such, storing small blobs (less than single digit MB) should not be a problem, but it is advised to +manually split large blobs into smaller chunks.</p> +<p>Please note in particular that by default, any value greater than 16MB will be rejected by Cassandra due the +<code class="docutils literal"><span class="pre">max_mutation_size_in_kb</span></code> configuration of the <a class="reference internal" href="../configuration/cassandra_config_file.html#cassandra-yaml"><span class="std std-ref">Cassandra Configuration File</span></a> file (which default to half of +<code class="docutils literal"><span class="pre">commitlog_segment_size_in_mb</span></code>, which itself default to 32MB).</p> +</div> +<div class="section" id="nodetool-says-connection-refused-to-host-127-0-1-1-for-any-remote-host-what-gives"> +<span id="nodetool-connection-refused"></span><h2>Nodetool says “Connection refused to host: 127.0.1.1” for any remote host. What gives?<a class="headerlink" href="#nodetool-says-connection-refused-to-host-127-0-1-1-for-any-remote-host-what-gives" title="Permalink to this headline">¶</a></h2> +<p>Nodetool relies on JMX, which in turn relies on RMI, which in turn sets up its own listeners and connectors as needed on +each end of the exchange. Normally all of this happens behind the scenes transparently, but incorrect name resolution +for either the host connecting, or the one being connected to, can result in crossed wires and confusing exceptions.</p> +<p>If you are not using DNS, then make sure that your <code class="docutils literal"><span class="pre">/etc/hosts</span></code> files are accurate on both ends. If that fails, try +setting the <code class="docutils literal"><span class="pre">-Djava.rmi.server.hostname=<public</span> <span class="pre">name></span></code> JVM option near the bottom of <code class="docutils literal"><span class="pre">cassandra-env.sh</span></code> to an +interface that you can reach from the remote machine.</p> +</div> +<div class="section" id="will-batching-my-operations-speed-up-my-bulk-load"> +<span id="to-batch-or-not-to-batch"></span><h2>Will batching my operations speed up my bulk load?<a class="headerlink" href="#will-batching-my-operations-speed-up-my-bulk-load" title="Permalink to this headline">¶</a></h2> +<p>No. Using batches to load data will generally just add “spikes” of latency. Use asynchronous INSERTs instead, or use +true <a class="reference internal" href="../operating/bulk_loading.html#bulk-loading"><span class="std std-ref">Bulk Loading</span></a>.</p> +<p>An exception is batching updates to a single partition, which can be a Good Thing (as long as the size of a single batch +stay reasonable). But never ever blindly batch everything!</p> +</div> +<div class="section" id="on-rhel-nodes-are-unable-to-join-the-ring"> +<span id="selinux"></span><h2>On RHEL nodes are unable to join the ring<a class="headerlink" href="#on-rhel-nodes-are-unable-to-join-the-ring" title="Permalink to this headline">¶</a></h2> +<p>Check if <a class="reference external" href="https://en.wikipedia.org/wiki/Security-Enhanced_Linux">SELinux</a> is on; if it is, turn it off.</p> +</div> +<div class="section" id="how-do-i-unsubscribe-from-the-email-list"> +<span id="how-to-unsubscribe"></span><h2>How do I unsubscribe from the email list?<a class="headerlink" href="#how-do-i-unsubscribe-from-the-email-list" title="Permalink to this headline">¶</a></h2> +<p>Send an email to <code class="docutils literal"><span class="pre">user-unsubscribe@cassandra.apache.org</span></code>.</p> +</div> +<div class="section" id="why-does-top-report-that-cassandra-is-using-a-lot-more-memory-than-the-java-heap-max"> +<span id="cassandra-eats-all-my-memory"></span><h2>Why does top report that Cassandra is using a lot more memory than the Java heap max?<a class="headerlink" href="#why-does-top-report-that-cassandra-is-using-a-lot-more-memory-than-the-java-heap-max" title="Permalink to this headline">¶</a></h2> +<p>Cassandra uses <a class="reference external" href="https://en.wikipedia.org/wiki/Memory-mapped_file">Memory Mapped Files</a> (mmap) internally. That is, we +use the operating system’s virtual memory system to map a number of on-disk files into the Cassandra process’ address +space. This will “use” virtual memory; i.e. address space, and will be reported by tools like top accordingly, but on 64 +bit systems virtual address space is effectively unlimited so you should not worry about that.</p> +<p>What matters from the perspective of “memory use” in the sense as it is normally meant, is the amount of data allocated +on brk() or mmap’d /dev/zero, which represent real memory used. The key issue is that for a mmap’d file, there is never +a need to retain the data resident in physical memory. Thus, whatever you do keep resident in physical memory is +essentially just there as a cache, in the same way as normal I/O will cause the kernel page cache to retain data that +you read/write.</p> +<p>The difference between normal I/O and mmap() is that in the mmap() case the memory is actually mapped to the process, +thus affecting the virtual size as reported by top. The main argument for using mmap() instead of standard I/O is the +fact that reading entails just touching memory - in the case of the memory being resident, you just read it - you don’t +even take a page fault (so no overhead in entering the kernel and doing a semi-context switch). This is covered in more +detail <a class="reference external" href="http://www.varnish-cache.org/trac/wiki/ArchitectNotes">here</a>.</p> +</div> +<div class="section" id="what-are-seeds"> +<span id="id1"></span><h2>What are seeds?<a class="headerlink" href="#what-are-seeds" title="Permalink to this headline">¶</a></h2> +<p>Seeds are used during startup to discover the cluster.</p> +<p>If you configure your nodes to refer some node as seed, nodes in your ring tend to send Gossip message to seeds more +often (also see the <a class="reference internal" href="../architecture/dynamo.html#gossip"><span class="std std-ref">section on gossip</span></a>) than to non-seeds. In other words, seeds are worked as hubs of +Gossip network. With seeds, each node can detect status changes of other nodes quickly.</p> +<p>Seeds are also referred by new nodes on bootstrap to learn other nodes in ring. When you add a new node to ring, you +need to specify at least one live seed to contact. Once a node join the ring, it learns about the other nodes, so it +doesn’t need seed on subsequent boot.</p> +<p>You can make a seed a node at any time. There is nothing special about seed nodes. If you list the node in seed list it +is a seed</p> +<p>Seeds do not auto bootstrap (i.e. if a node has itself in its seed list it will not automatically transfer data to itself) +If you want a node to do that, bootstrap it first and then add it to seeds later. If you have no data (new install) you +do not have to worry about bootstrap at all.</p> +<p>Recommended usage of seeds:</p> +<ul class="simple"> +<li>pick two (or more) nodes per data center as seed nodes.</li> +<li>sync the seed list to all your nodes</li> +</ul> +</div> +<div class="section" id="does-single-seed-mean-single-point-of-failure"> +<span id="are-seeds-spof"></span><h2>Does single seed mean single point of failure?<a class="headerlink" href="#does-single-seed-mean-single-point-of-failure" title="Permalink to this headline">¶</a></h2> +<p>The ring can operate or boot without a seed; however, you will not be able to add new nodes to the cluster. It is +recommended to configure multiple seeds in production system.</p> +</div> +<div class="section" id="why-can-t-i-call-jmx-method-x-on-jconsole"> +<span id="cant-call-jmx-method"></span><h2>Why can’t I call jmx method X on jconsole?<a class="headerlink" href="#why-can-t-i-call-jmx-method-x-on-jconsole" title="Permalink to this headline">¶</a></h2> +<p>Some of JMX operations use array argument and as jconsole doesn’t support array argument, those operations can’t be +called with jconsole (the buttons are inactive for them). You need to write a JMX client to call such operations or need +array-capable JMX monitoring tool.</p> +</div> +<div class="section" id="why-do-i-see-messages-dropped-in-the-logs"> +<span id="why-message-dropped"></span><h2>Why do I see ”... messages dropped ...” in the logs?<a class="headerlink" href="#why-do-i-see-messages-dropped-in-the-logs" title="Permalink to this headline">¶</a></h2> +<p>This is a symptom of load shedding – Cassandra defending itself against more requests than it can handle.</p> +<p>Internode messages which are received by a node, but do not get not to be processed within their proper timeout (see +<code class="docutils literal"><span class="pre">read_request_timeout</span></code>, <code class="docutils literal"><span class="pre">write_request_timeout</span></code>, ... in the <a class="reference internal" href="../configuration/cassandra_config_file.html#cassandra-yaml"><span class="std std-ref">Cassandra Configuration File</span></a>), are dropped rather than +processed (since the as the coordinator node will no longer be waiting for a response).</p> +<p>For writes, this means that the mutation was not applied to all replicas it was sent to. The inconsistency will be +repaired by read repair, hints or a manual repair. The write operation may also have timeouted as a result.</p> +<p>For reads, this means a read request may not have completed.</p> +<p>Load shedding is part of the Cassandra architecture, if this is a persistent issue it is generally a sign of an +overloaded node or cluster.</p> +</div> +<div class="section" id="cassandra-dies-with-java-lang-outofmemoryerror-map-failed"> +<span id="oom-map-failed"></span><h2>Cassandra dies with <code class="docutils literal"><span class="pre">java.lang.OutOfMemoryError:</span> <span class="pre">Map</span> <span class="pre">failed</span></code><a class="headerlink" href="#cassandra-dies-with-java-lang-outofmemoryerror-map-failed" title="Permalink to this headline">¶</a></h2> +<p>If Cassandra is dying <strong>specifically</strong> with the “Map failed” message, it means the OS is denying java the ability to +lock more memory. In linux, this typically means memlock is limited. Check <code class="docutils literal"><span class="pre">/proc/<pid</span> <span class="pre">of</span> <span class="pre">cassandra>/limits</span></code> to verify +this and raise it (eg, via ulimit in bash). You may also need to increase <code class="docutils literal"><span class="pre">vm.max_map_count.</span></code> Note that the debian +package handles this for you automatically.</p> +</div> +<div class="section" id="what-happens-if-two-updates-are-made-with-the-same-timestamp"> +<span id="what-on-same-timestamp-update"></span><h2>What happens if two updates are made with the same timestamp?<a class="headerlink" href="#what-happens-if-two-updates-are-made-with-the-same-timestamp" title="Permalink to this headline">¶</a></h2> +<p>Updates must be commutative, since they may arrive in different orders on different replicas. As long as Cassandra has a +deterministic way to pick the winner (in a timestamp tie), the one selected is as valid as any other, and the specifics +should be treated as an implementation detail. That said, in the case of a timestamp tie, Cassandra follows two rules: +first, deletes take precedence over inserts/updates. Second, if there are two updates, the one with the lexically larger +value is selected.</p> +</div> +<div class="section" id="why-bootstrapping-a-new-node-fails-with-a-stream-failed-error"> +<span id="why-bootstrapping-stream-error"></span><h2>Why bootstrapping a new node fails with a “Stream failed” error?<a class="headerlink" href="#why-bootstrapping-a-new-node-fails-with-a-stream-failed-error" title="Permalink to this headline">¶</a></h2> +<p>Two main possibilities:</p> +<ol class="arabic simple"> +<li>the GC may be creating long pauses disrupting the streaming process</li> +<li>compactions happening in the background hold streaming long enough that the TCP connection fails</li> +</ol> +<p>In the first case, regular GC tuning advices apply. In the second case, you need to set TCP keepalive to a lower value +(default is very high on Linux). Try to just run the following:</p> +<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5 +</pre></div> +</div> +<p>To make those settings permanent, add them to your <code class="docutils literal"><span class="pre">/etc/sysctl.conf</span></code> file.</p> +<p>Note: <a class="reference external" href="https://cloud.google.com/compute/">GCE</a>‘s firewall will always interrupt TCP connections that are inactive for +more than 10 min. Running the above command is highly recommended in that environment.</p> +</div> +</div> + + + + + <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation"> + + <a href="../bugs.html" class="btn btn-default pull-right " role="button" title="Reporting Bugs and Contributing" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a> + + + <a href="../development/how_to_commit.html" class="btn btn-default" role="button" title="How-to Commit" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a> + + </div> + + </div> + </div> + </div> + <div class="col-md-2"> + </div> + </div> +</div> + + <footer> + <div class="container"> + <div class="col-md-4 social-blk"> + <span class="social"> + <a href="https://twitter.com/cassandra" + class="twitter-follow-button" + data-show-count="false" data-size="large">Follow @cassandra</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra" + class="twitter-hashtag-button" + data-size="large" + data-related="ApacheCassandra">Tweet #cassandra</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + </span> + </div> + + <div class="col-md-8 trademark"> + <p>© 2016 <a href="http://apache.org">The Apache Software Foundation</a>. + Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation. + <p> + </div> + </div><!-- /.container --> +</footer> + +<!-- Javascript. Placed here so pages load faster --> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> +<script src="./../../../js/underscore-min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> + + +<script src="./../../../js/doctools.js"></script> +<script src="./../../../js/searchtools.js"></script> + + <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: "", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE: false, SOURCELINK_SUFFIX: "" }; </script> + +<script type="text/javascript"> +$(function() { + // Stick the #nav to the top of the window + var nav = $('.doc-navigation'); + var navHomeY = nav.offset().top; + var isFixed = false; + var $w = $(window); + $w.scroll(function() { + var scrollTop = $w.scrollTop(); + var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10; + if (shouldBeFixed && !isFixed) { + nav.css({ + position: 'fixed', + top: 0, + left: nav.offset().left, + width: nav.width(), + }); + nav.addClass('fixed-navigation'); + isFixed = true; + } + else if (!shouldBeFixed && isFixed) + { + nav.css({ + position: 'static' + }); + nav.removeClass('fixed-navigation'); + isFixed = false; + } + }); +}); +</script> + + +<script type="text/javascript"> + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); + + try { + var pageTracker = _gat._getTracker("UA-11583863-1"); + pageTracker._trackPageview(); + } catch(err) {} +</script> + + + </body> +</html>
Added: cassandra/site/publish/doc/3.10/genindex.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.10/genindex.html?rev=1757435&view=auto ============================================================================== --- cassandra/site/publish/doc/3.10/genindex.html (added) +++ cassandra/site/publish/doc/3.10/genindex.html Tue Aug 23 20:58:08 2016 @@ -0,0 +1,95 @@ + +--- +layout: docpage + +title: "Documentation" + +is_homepage: false +is_sphinx_doc: true + +doc-title: "Index" +doc-header-links: ' + <link rel="top" title="Apache Cassandra Documentation v3.10" 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: "" + }; +</script> +' + +--- +<div class="container-fluid"> + <div class="row"> + <div class="col-md-2"> + <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> +<li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</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="data_modeling/index.html">Data Modeling</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="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">Cassandra Development</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="bugs.html">Reporting Bugs and Contributing</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="container"> + + +<h1 id="index">Index</h1> + +<div class="genindex-jumpbox"> + +</div> + + + + + </div> + </div> + </div> + <div class="col-md-2"> + </div> + </div> +</div> \ No newline at end of file Added: cassandra/site/publish/doc/3.10/getting_started/configuring.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.10/getting_started/configuring.html?rev=1757435&view=auto ============================================================================== --- cassandra/site/publish/doc/3.10/getting_started/configuring.html (added) +++ cassandra/site/publish/doc/3.10/getting_started/configuring.html Tue Aug 23 20:58:08 2016 @@ -0,0 +1,304 @@ +<!DOCTYPE html> +<html> + + + + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages. +"> + <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" /> + <meta name="robots" content="index,follow" /> + <meta name="language" content="en" /> + + <title>Documentation</title> + + <link rel="canonical" href="http://cassandra.apache.org/doc/3.10/getting_started/configuring.html"> + + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> + <link rel="stylesheet" href="./../../../css/style.css"> + + <link rel="stylesheet" href="./../../../css/sphinx.css"> + + + <link rel="top" title="Apache Cassandra Documentation v3.10" href="../index.html"/> <link rel="up" title="Getting Started" href="index.html"/> <link rel="next" title="Inserting and querying" href="querying.html"/> <link rel="prev" title="Installing Cassandra" href="installing.html"/> +</head> + + <body> + <!-- breadcrumbs --> +<div class="topnav"> + <div class="container breadcrumb-container"> + <ul class="breadcrumb"> + <li> + <div class="dropdown"> + <img class="asf-logo" src="./../../../img/asf_feather.png" /> + <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <li><a href="http://www.apache.org">Apache Homepage</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </div> + </li> + + + <li><a href="./../../../">Apache Cassandra</a></li> + + + + + <li><a href="./../../../doc">Documentation</a></li> + + + + + <li><a href="./">Getting Started</a></li> + + + + <li>Configuring Cassandra</li> + + </ul> + </div> + + <!-- navbar --> + <nav class="navbar navbar-default navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a> + </div><!-- /.navbar-header --> + + <div id="cassandra-menu" class="collapse navbar-collapse"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="./../../../">Home</a></li> + <li><a href="./../../../download/">Download</a></li> + <li><a href="./../../../doc/">Documentation</a></li> + <li><a href="./../../../community/">Community</a></li> + </ul> + </div><!-- /#cassandra-menu --> + + + </div> + </nav><!-- /.navbar --> +</div><!-- /.topnav --> + + <div class="container-fluid"> + <div class="row"> + <div class="col-md-2"> + <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"><a class="reference internal" href="installing.html">Installing Cassandra</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="#">Configuring Cassandra</a><ul> +<li class="toctree-l3"><a class="reference internal" href="#main-runtime-properties">Main runtime properties</a></li> +<li class="toctree-l3"><a class="reference internal" href="#changing-the-location-of-directories">Changing the location of directories</a></li> +<li class="toctree-l3"><a class="reference internal" href="#environment-variables">Environment variables</a></li> +<li class="toctree-l3"><a class="reference internal" href="#logging">Logging</a></li> +</ul> +</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="../architecture/index.html">Architecture</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="../cql/index.html">The Cassandra Query Language (CQL)</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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</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="container"> + + <div class="section" id="configuring-cassandra"> +<h1>Configuring Cassandra<a class="headerlink" href="#configuring-cassandra" title="Permalink to this headline">¶</a></h1> +<p>For running Cassandra on a single node, the steps above are enough, you don’t really need to change any configuration. +However, when you deploy a cluster of nodes, or use clients that are not on the same host, then there are some +parameters that must be changed.</p> +<p>The Cassandra configuration files can be found in the <code class="docutils literal"><span class="pre">conf</span></code> directory of tarballs. For packages, the configuration +files will be located in <code class="docutils literal"><span class="pre">/etc/cassandra</span></code>.</p> +<div class="section" id="main-runtime-properties"> +<h2>Main runtime properties<a class="headerlink" href="#main-runtime-properties" title="Permalink to this headline">¶</a></h2> +<p>Most of configuration in Cassandra is done via yaml properties that can be set in <code class="docutils literal"><span class="pre">cassandra.yaml</span></code>. At a minimum you +should consider setting the following properties:</p> +<ul class="simple"> +<li><code class="docutils literal"><span class="pre">cluster_name</span></code>: the name of your cluster.</li> +<li><code class="docutils literal"><span class="pre">seeds</span></code>: a comma separated list of the IP addresses of your cluster seeds.</li> +<li><code class="docutils literal"><span class="pre">storage_port</span></code>: you don’t necessarily need to change this but make sure that there are no firewalls blocking this +port.</li> +<li><code class="docutils literal"><span class="pre">listen_address</span></code>: the IP address of your node, this is what allows other nodes to communicate with this node so it +is important that you change it. Alternatively, you can set <code class="docutils literal"><span class="pre">listen_interface</span></code> to tell Cassandra which interface to +use, and consecutively which address to use. Set only one, not both.</li> +<li><code class="docutils literal"><span class="pre">native_transport_port</span></code>: as for storage_port, make sure this port is not blocked by firewalls as clients will +communicate with Cassandra on this port.</li> +</ul> +</div> +<div class="section" id="changing-the-location-of-directories"> +<h2>Changing the location of directories<a class="headerlink" href="#changing-the-location-of-directories" title="Permalink to this headline">¶</a></h2> +<p>The following yaml properties control the location of directories:</p> +<ul class="simple"> +<li><code class="docutils literal"><span class="pre">data_file_directories</span></code>: one or more directories where data files are located.</li> +<li><code class="docutils literal"><span class="pre">commitlog_directory</span></code>: the directory where commitlog files are located.</li> +<li><code class="docutils literal"><span class="pre">saved_caches_directory</span></code>: the directory where saved caches are located.</li> +<li><code class="docutils literal"><span class="pre">hints_directory</span></code>: the directory where hints are located.</li> +</ul> +<p>For performance reasons, if you have multiple disks, consider putting commitlog and data files on different disks.</p> +</div> +<div class="section" id="environment-variables"> +<h2>Environment variables<a class="headerlink" href="#environment-variables" title="Permalink to this headline">¶</a></h2> +<p>JVM-level settings such as heap size can be set in <code class="docutils literal"><span class="pre">cassandra-env.sh</span></code>. You can add any additional JVM command line +argument to the <code class="docutils literal"><span class="pre">JVM_OPTS</span></code> environment variable; when Cassandra starts these arguments will be passed to the JVM.</p> +</div> +<div class="section" id="logging"> +<h2>Logging<a class="headerlink" href="#logging" title="Permalink to this headline">¶</a></h2> +<p>The logger in use is logback. You can change logging properties by editing <code class="docutils literal"><span class="pre">logback.xml</span></code>. By default it will log at +INFO level into a file called <code class="docutils literal"><span class="pre">system.log</span></code> and at debug level into a file called <code class="docutils literal"><span class="pre">debug.log</span></code>. When running in the +foreground, it will also log at INFO level to the console.</p> +</div> +</div> + + + + + <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation"> + + <a href="querying.html" class="btn btn-default pull-right " role="button" title="Inserting and querying" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a> + + + <a href="installing.html" class="btn btn-default" role="button" title="Installing Cassandra" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a> + + </div> + + </div> + </div> + </div> + <div class="col-md-2"> + </div> + </div> +</div> + + <footer> + <div class="container"> + <div class="col-md-4 social-blk"> + <span class="social"> + <a href="https://twitter.com/cassandra" + class="twitter-follow-button" + data-show-count="false" data-size="large">Follow @cassandra</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra" + class="twitter-hashtag-button" + data-size="large" + data-related="ApacheCassandra">Tweet #cassandra</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + </span> + </div> + + <div class="col-md-8 trademark"> + <p>© 2016 <a href="http://apache.org">The Apache Software Foundation</a>. + Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation. + <p> + </div> + </div><!-- /.container --> +</footer> + +<!-- Javascript. Placed here so pages load faster --> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> +<script src="./../../../js/underscore-min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> + + +<script src="./../../../js/doctools.js"></script> +<script src="./../../../js/searchtools.js"></script> + + <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: "", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE: false, SOURCELINK_SUFFIX: "" }; </script> + +<script type="text/javascript"> +$(function() { + // Stick the #nav to the top of the window + var nav = $('.doc-navigation'); + var navHomeY = nav.offset().top; + var isFixed = false; + var $w = $(window); + $w.scroll(function() { + var scrollTop = $w.scrollTop(); + var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10; + if (shouldBeFixed && !isFixed) { + nav.css({ + position: 'fixed', + top: 0, + left: nav.offset().left, + width: nav.width(), + }); + nav.addClass('fixed-navigation'); + isFixed = true; + } + else if (!shouldBeFixed && isFixed) + { + nav.css({ + position: 'static' + }); + nav.removeClass('fixed-navigation'); + isFixed = false; + } + }); +}); +</script> + + +<script type="text/javascript"> + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); + + try { + var pageTracker = _gat._getTracker("UA-11583863-1"); + pageTracker._trackPageview(); + } catch(err) {} +</script> + + + </body> +</html> Added: cassandra/site/publish/doc/3.10/getting_started/drivers.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/3.10/getting_started/drivers.html?rev=1757435&view=auto ============================================================================== --- cassandra/site/publish/doc/3.10/getting_started/drivers.html (added) +++ cassandra/site/publish/doc/3.10/getting_started/drivers.html Tue Aug 23 20:58:08 2016 @@ -0,0 +1,369 @@ +<!DOCTYPE html> +<html> + + + + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages. +"> + <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" /> + <meta name="robots" content="index,follow" /> + <meta name="language" content="en" /> + + <title>Documentation</title> + + <link rel="canonical" href="http://cassandra.apache.org/doc/3.10/getting_started/drivers.html"> + + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> + <link rel="stylesheet" href="./../../../css/style.css"> + + <link rel="stylesheet" href="./../../../css/sphinx.css"> + + + <link rel="top" title="Apache Cassandra Documentation v3.10" href="../index.html"/> <link rel="up" title="Getting Started" href="index.html"/> <link rel="next" title="Architecture" href="../architecture/index.html"/> <link rel="prev" title="Inserting and querying" href="querying.html"/> +</head> + + <body> + <!-- breadcrumbs --> +<div class="topnav"> + <div class="container breadcrumb-container"> + <ul class="breadcrumb"> + <li> + <div class="dropdown"> + <img class="asf-logo" src="./../../../img/asf_feather.png" /> + <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a> + <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> + <li><a href="http://www.apache.org">Apache Homepage</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </div> + </li> + + + <li><a href="./../../../">Apache Cassandra</a></li> + + + + + <li><a href="./../../../doc">Documentation</a></li> + + + + + <li><a href="./">Getting Started</a></li> + + + + <li>Client drivers</li> + + </ul> + </div> + + <!-- navbar --> + <nav class="navbar navbar-default navbar-static-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a> + </div><!-- /.navbar-header --> + + <div id="cassandra-menu" class="collapse navbar-collapse"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="./../../../">Home</a></li> + <li><a href="./../../../download/">Download</a></li> + <li><a href="./../../../doc/">Documentation</a></li> + <li><a href="./../../../community/">Community</a></li> + </ul> + </div><!-- /#cassandra-menu --> + + + </div> + </nav><!-- /.navbar --> +</div><!-- /.topnav --> + + <div class="container-fluid"> + <div class="row"> + <div class="col-md-2"> + <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"><a class="reference internal" href="installing.html">Installing Cassandra</a></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 current"><a class="current reference internal" href="#">Client drivers</a><ul> +<li class="toctree-l3"><a class="reference internal" href="#java">Java</a></li> +<li class="toctree-l3"><a class="reference internal" href="#python">Python</a></li> +<li class="toctree-l3"><a class="reference internal" href="#ruby">Ruby</a></li> +<li class="toctree-l3"><a class="reference internal" href="#c-net">C# / .NET</a></li> +<li class="toctree-l3"><a class="reference internal" href="#nodejs">Nodejs</a></li> +<li class="toctree-l3"><a class="reference internal" href="#php">PHP</a></li> +<li class="toctree-l3"><a class="reference internal" href="#c">C++</a></li> +<li class="toctree-l3"><a class="reference internal" href="#scala">Scala</a></li> +<li class="toctree-l3"><a class="reference internal" href="#clojure">Clojure</a></li> +<li class="toctree-l3"><a class="reference internal" href="#erlang">Erlang</a></li> +<li class="toctree-l3"><a class="reference internal" href="#go">Go</a></li> +<li class="toctree-l3"><a class="reference internal" href="#haskell">Haskell</a></li> +<li class="toctree-l3"><a class="reference internal" href="#rust">Rust</a></li> +</ul> +</li> +</ul> +</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="../data_modeling/index.html">Data Modeling</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="../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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</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="container"> + + <div class="section" id="client-drivers"> +<span id="id1"></span><h1>Client drivers<a class="headerlink" href="#client-drivers" title="Permalink to this headline">¶</a></h1> +<p>Here are known Cassandra client drivers organized by language. Before choosing a driver, you should verify the Cassandra +version and functionality supported by a specific driver.</p> +<div class="section" id="java"> +<h2>Java<a class="headerlink" href="#java" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="http://achilles.archinnov.info/">Achilles</a></li> +<li><a class="reference external" href="https://github.com/Netflix/astyanax/wiki/Getting-Started">Astyanax</a></li> +<li><a class="reference external" href="https://github.com/noorq/casser">Casser</a></li> +<li><a class="reference external" href="https://github.com/datastax/java-driver">Datastax Java driver</a></li> +<li><a class="reference external" href="https://github.com/impetus-opensource/Kundera">Kundera</a></li> +<li><a class="reference external" href="https://github.com/deanhiller/playorm">PlayORM</a></li> +</ul> +</div> +<div class="section" id="python"> +<h2>Python<a class="headerlink" href="#python" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/datastax/python-driver">Datastax Python driver</a></li> +</ul> +</div> +<div class="section" id="ruby"> +<h2>Ruby<a class="headerlink" href="#ruby" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/datastax/ruby-driver">Datastax Ruby driver</a></li> +</ul> +</div> +<div class="section" id="c-net"> +<h2>C# / .NET<a class="headerlink" href="#c-net" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/pchalamet/cassandra-sharp">Cassandra Sharp</a></li> +<li><a class="reference external" href="https://github.com/datastax/csharp-driver">Datastax C# driver</a></li> +<li><a class="reference external" href="https://github.com/managedfusion/fluentcassandra">Fluent Cassandra</a></li> +</ul> +</div> +<div class="section" id="nodejs"> +<h2>Nodejs<a class="headerlink" href="#nodejs" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/datastax/nodejs-driver">Datastax Nodejs driver</a></li> +<li><a class="reference external" href="https://github.com/jorgebay/node-cassandra-cql">Node-Cassandra-CQL</a></li> +</ul> +</div> +<div class="section" id="php"> +<h2>PHP<a class="headerlink" href="#php" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="http://code.google.com/a/apache-extras.org/p/cassandra-pdo">CQL | PHP</a></li> +<li><a class="reference external" href="https://github.com/datastax/php-driver/">Datastax PHP driver</a></li> +<li><a class="reference external" href="https://github.com/aparkhomenko/php-cassandra">PHP-Cassandra</a></li> +<li><a class="reference external" href="http://evseevnn.github.io/php-cassandra-binary/">PHP Library for Cassandra</a></li> +</ul> +</div> +<div class="section" id="c"> +<h2>C++<a class="headerlink" href="#c" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/datastax/cpp-driver">Datastax C++ driver</a></li> +<li><a class="reference external" href="http://sourceforge.net/projects/libqtcassandra">libQTCassandra</a></li> +</ul> +</div> +<div class="section" id="scala"> +<h2>Scala<a class="headerlink" href="#scala" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/datastax/spark-cassandra-connector">Datastax Spark connector</a></li> +<li><a class="reference external" href="https://github.com/newzly/phantom">Phantom</a></li> +<li><a class="reference external" href="https://github.com/getquill/quill">Quill</a></li> +</ul> +</div> +<div class="section" id="clojure"> +<h2>Clojure<a class="headerlink" href="#clojure" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/mpenet/alia">Alia</a></li> +<li><a class="reference external" href="https://github.com/clojurewerkz/cassaforte">Cassaforte</a></li> +<li><a class="reference external" href="https://github.com/mpenet/hayt">Hayt</a></li> +</ul> +</div> +<div class="section" id="erlang"> +<h2>Erlang<a class="headerlink" href="#erlang" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/matehat/cqerl">CQerl</a></li> +<li><a class="reference external" href="https://github.com/silviucpp/erlcass">Erlcass</a></li> +</ul> +</div> +<div class="section" id="go"> +<h2>Go<a class="headerlink" href="#go" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="http://relops.com/cqlc/">CQLc</a></li> +<li><a class="reference external" href="https://github.com/hailocab/gocassa">Gocassa</a></li> +<li><a class="reference external" href="https://github.com/gocql/gocql">GoCQL</a></li> +</ul> +</div> +<div class="section" id="haskell"> +<h2>Haskell<a class="headerlink" href="#haskell" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/ozataman/cassy">Cassy</a></li> +</ul> +</div> +<div class="section" id="rust"> +<h2>Rust<a class="headerlink" href="#rust" title="Permalink to this headline">¶</a></h2> +<ul class="simple"> +<li><a class="reference external" href="https://github.com/neich/rust-cql">Rust CQL</a></li> +</ul> +</div> +</div> + + + + + <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation"> + + <a href="../architecture/index.html" class="btn btn-default pull-right " role="button" title="Architecture" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a> + + + <a href="querying.html" class="btn btn-default" role="button" title="Inserting and querying" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a> + + </div> + + </div> + </div> + </div> + <div class="col-md-2"> + </div> + </div> +</div> + + <footer> + <div class="container"> + <div class="col-md-4 social-blk"> + <span class="social"> + <a href="https://twitter.com/cassandra" + class="twitter-follow-button" + data-show-count="false" data-size="large">Follow @cassandra</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra" + class="twitter-hashtag-button" + data-size="large" + data-related="ApacheCassandra">Tweet #cassandra</a> + <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> + </span> + </div> + + <div class="col-md-8 trademark"> + <p>© 2016 <a href="http://apache.org">The Apache Software Foundation</a>. + Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation. + <p> + </div> + </div><!-- /.container --> +</footer> + +<!-- Javascript. Placed here so pages load faster --> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> +<script src="./../../../js/underscore-min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> + + +<script src="./../../../js/doctools.js"></script> +<script src="./../../../js/searchtools.js"></script> + + <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: "", VERSION: "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE: false, SOURCELINK_SUFFIX: "" }; </script> + +<script type="text/javascript"> +$(function() { + // Stick the #nav to the top of the window + var nav = $('.doc-navigation'); + var navHomeY = nav.offset().top; + var isFixed = false; + var $w = $(window); + $w.scroll(function() { + var scrollTop = $w.scrollTop(); + var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10; + if (shouldBeFixed && !isFixed) { + nav.css({ + position: 'fixed', + top: 0, + left: nav.offset().left, + width: nav.width(), + }); + nav.addClass('fixed-navigation'); + isFixed = true; + } + else if (!shouldBeFixed && isFixed) + { + nav.css({ + position: 'static' + }); + nav.removeClass('fixed-navigation'); + isFixed = false; + } + }); +}); +</script> + + +<script type="text/javascript"> + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); + + try { + var pageTracker = _gat._getTracker("UA-11583863-1"); + pageTracker._trackPageview(); + } catch(err) {} +</script> + + + </body> +</html>