Cassandra on DC/OS
- - 灰狐博客Apache Cassandra 是一个强大的开源分布式NoSQL数据库,高度的可伸展性. 基于DC/OS构建其分布式集群是个非常值得采纳的方法,其基本思路是:. 把Cassandra放到Docker里,然后由DC/OS调度Cassandra容器集群运行、管理. Mesos 的 persistence primitives 是一个新的强大的工具,它使得更多的有状态应用可以运行在 Mesos 上.
Apache Cassandra 是一个强大的开源分布式NoSQL数据库,高度的可伸展性。
基于DC/OS构建其分布式集群是个非常值得采纳的方法,其基本思路是:
把Cassandra放到Docker里,然后由DC/OS调度Cassandra容器集群运行、管理。
Mesos 的 persistence primitives 是一个新的强大的工具,它使得更多的有状态应用可以运行在 Mesos 上。利用它,可以把 cassandra 集群改造成了一个极易扩展到数百节点的分布式持久化框架。
# dcos package install cassandra
# dcos cassandra help
# dcos cassandra
# dcos cassandra pod list
# dcos cassandra pod info node-0
on master node
# docker run -ti cassandra:3.0.16 cqlsh --cqlversion="3.4.0" 192.168.0.240
cqlsh> CREATE KEYSPACE demo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
cqlsh> USE demo;CREATE TABLE map (key varchar, value varchar, PRIMARY KEY(key));
cqlsh:demo> INSERT INTO demo.map(key, value) VALUES('Cassandra', 'Rocks!');
cqlsh:demo> INSERT INTO demo.map(key, value) VALUES('StaticInfrastructure', 'BeGone!');
cqlsh:demo> INSERT INTO demo.map(key, value) VALUES('Buzz', 'DC/OS is the new black!');
cqlsh:demo> SELECT * FROM demo.map;
# docker image ls
# docker run cassandra:3.0.16 &
# docker ps
# docker exec -ti 1d001728d86d cqlsh --cqlversion="3.4.0"
你也可关注与评估Cassandra商业发行版 DataStax Enterprise:datastax-dse 和 datastax-ops
In production, the DSE nodes should be operated with 32 GB of memory and 16 GB of heap.
此外,ScyllaDB兼容Cassandra,速度更快,每节点每秒可处理 100 万 TPS。
ScyllaDB性能是Cassandra的10多倍(3台ScyllaDB可以提供30台Cassandra集群的吞吐量,而且响应延时更低),ScyllaDB的CTO兼创始人Avi Kivity是大名鼎鼎的KVM作者。