Giter VIP home page Giter VIP logo

docker-cassandra's Introduction

Cassandra in Docker

This repository provides everything you need to run Cassandra in Docker, and is tuned for fast container startup.

Why?

While naive Cassandra images take around 30 seconds to start, our containers take only a few seconds. Optimizations include:

  • Disabling vnodes. We don't use them at Spotify, and Cassandra starts much faster without them (~10 sec).
  • Disabling something called "waiting for gossip to settle down" because there is no gossip in a one-node cluster (another ~10 sec).

In the box

  • spotify/cassandra

    This is probably the image you want, it runs a one-node Cassandra cluster. Built from the cassandra directory.

  • spotify/cassandra:cluster

    Runs a Cassandra cluster. Expects CASSANDRA_SEEDS and CASSANDRA_TOKEN env variables to be set. If CASSANDRA_SEEDS is not set, node acts as its own seed. If CASSANDRA_TOKEN is not set, the container will not run. Built from the cassandra-cluster directory.

  • spotify/cassandra:base

    The base image with an unconfigured Cassandra installation. You probably don't want to use this directly. Built from the cassandra-base directory.

Notes

Things are still under heavy development:

  • Only Cassandra 2.0 with almost-generic config (miles away from what we actually run Cassandra with) is supported so far.
  • There's nothing to help you with tokens and stuff.

docker-cassandra's People

Contributors

davidxia avatar mbruggmann avatar muktaa avatar rculbertson avatar rohansingh avatar rzvoncek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-cassandra's Issues

setting multi node

Hi everyone, have you instruct me some information to config multi nodes run in a cluster. If have a large request on 1 moment (~100-300/second - Just write/ No read), should we choose how many nodes? And how performance going with many nodes?

Images aren't built in order

The spotify/cassandra:base image needs to be built before the other images. However, this ordering is not guaranteed by the Docker Hub, so new builds of the :cassandra or :cluster image usually end up using the previous version of the :base image.

The current workaround is to do a second build.

Configuration of cassandra should be modified prior to entrypoint script

The issue is that if I'd make an image from spotify/cassandra-singlenode with modified configuration I had to modify script file which runs in entrypoint. Also the changes would be applied only when entrypoint is executed.

It looks confusing. Why singlenode configuration can't be set in image itself, i.e.
RUN sed -i .... && sed -i ...

So, entrypoint could be just a simple command like "cassandra -f".

Wdyt?

Unable to gossip with any seeds

I'm trying to run the basic spotify/cassandra but I get an exception back saying unable to gossip with any seeds my host OS is ubuntu 18.04 Bionic Beaver(The host itself is installed on a VM). That's right after loading settings from cassandra.yaml

Questions about enable_materialized_views and enable_transient_replication

Thanks for providing this useful container.

I have a question about two cassandra configs: enable_materialized_views and enable_transient_replication. It seems the official document says "Materialized views are considered experimental and are not recommended for production use." And the default value for these two parameters are False in the document. They say they will disable them in Cassandra 4.

However, in the latest version of Cassandra (3.11.4), the default value for them are still True, as is the setting in your container's cassandra.yaml.

Shall we disable them manually for now?
Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.