cassandra是facebook开源的著名nosql数据库。因为它和google的big talbe及amazon的dynamo有着千丝万缕的联系,一时好奇,搭建了下简单的双机环境。
cassandra是由java写的,所以需要安装openjdk
如果客户端程序使用cassandra,可以用facebook的thrift这个高性能二进制中间件。
假设有两个客户端:
10.1.1.11/24和10.1.1/12/24
解压之后,创建文件夹,并使之可以被当前用户访问(chown -R)
mkdir -p /var/log/cassandra
mkdir -p /var/lib/cassandra
编辑conf/cassandra.yaml文件
seed_provider:
# Addresses of hosts that are deemed contact points.
# Cassandra nodes use this list of hosts to find each other and learn
# the topology of the ring. You must change this if you are running
# multiple nodes!
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
# seeds is actually a comma-delimited list of addresses.
# Ex: "<ip1>,<ip2>,<ip3>"
- seeds: "127.0.0.1, 10.1.1.11, 10.1.1.12" #这里写上性能比较稳定的seed服务器
listen_address: 10.1.1.12 #可以空着,表示本机IP地址
rpc_address: 0.0.0.0 #允许任何地址的程序前来访问本数据库
这里没有硬性规定seed应该是谁。普通cassandra启动的时候都会先去连接seed,看看有其它node是否存活
之后可以启动cassandra
cassandra -f
查看一下集群的状态
bin/nodetool -host 10.1.1.11 -p 7199 ring
使用客户端访问cassandra集群
bin/cassandra-cli -h 127.0.0.1 -p 9160
创建一个简单的keyspace并添加数据,查看数据
[default@unknown] create keyspace Keyspace1;
ece86bde-dc55-11df-8240-e700f669bcfc
[default@unknown] use Keyspace1;
Authenticated to keyspace: Keyspace1
[default@Keyspace1] create column family Users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;
737c7a71-dc56-11df-8240-e700f669bcfc
[default@KS1] set Users[jsmith][first] = 'John';
Value inserted.
[default@KS1] set Users[jsmith][last] = 'Smith';
Value inserted.
[default@KS1] set Users[jsmith][age] = long(42);
Value inserted.
[default@KS1] get Users[jsmith];
至此简单集群搭建成功,详细就翻翻apache cassandra的文档吧。
分享到:
相关推荐
通过实例介绍了cassandra的简单配置
Kubernetes上的可扩展Cassandra部署:在此代码中,我们提供了在Kubernetes上部署多节点可扩展Cassandra集群的完整路线图。 Cassandra知道它正在集群管理器中运行,并使用此集群管理基础结构来帮助实现该应用程序。 ...
一个带有 Docker-compose 的小型多直流 Cassandra 集群 :party_popper: 是的,另一个 Docker-Cassandra 集群... Docker 镜像 映像基于并进行了更改以支持多个数据中心。 Ops Center 目前已禁用,但我希望有时间...
CCM(Cassandra集群管理器) 在本地主机上创建,启动和删除Apache Cassandra集群的脚本/库。 ccm和ccmlib的目标是使在本地机器上轻松创建,管理和销毁小型Cassandra群集变得容易。 它旨在测试Cassandra集群。要求...
CCM一个脚本可以在本机上轻松创建和销毁Apache Cassandra集群
1、基础描述 Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式...它允许添加更多的硬件以适应更多的客户和更多的数据根据要求,可以根据业务的数据流量轻松扩展集群规模。
多节点集群-在单个Docker主机上运行使用OpsCenter监视的群集如果您想提供帮助,请与我联系,和/或向我发送拉取请求。先决条件Docker的最新版本-请参见 验证docker命令是否有效。 例如,尝试运行“ docker ps”。 ...
CCM(Cassandra集群管理器)一个脚本/库,用于在本地主机上创建,启动和删除Apache Cassandra集群。 ccm和ccmlib的目标是使在al CCM上轻松创建,管理和销毁小型Cassandra群集(Cassandra Cluster Manager)的脚本/库...
帮助操作 Cassandra 集群的通用工具和脚本 spcassandra-abortrepairs:停止本地 Cassandra 主机上正在进行的反熵会话 spcassandra-autobalance:自动重新分配集群中的令牌,使它们均匀分布。 尝试移动尽可能少的...
CCM(Cassandra集群管理器) 在本地主机上创建,启动和删除Apache Cassandra集群的脚本/库。 ccm和ccmlib的目标是使在本地机器上轻松创建,管理和销毁小型Cassandra群集变得容易。 它旨在测试Cassandra集群。 指向...
disk readahead设置成512$ sudo blockdev --setra 512 /dev/配置优化num_tokens:默认25
用于分隔 cassandra 集群节点的 erlcql 连接池 如何构建它 make deps compile 教程 启动应用程序: 1 > erlcql_cluster : start (). { ok ,[ snappy , lz4 , erlcql , poolboy , erlcql_poolboy , erlcql_...
码头工人卡桑德拉##关于###Description Docker 镜像旨在在 ContainerShip 上运行 Cassandra 集群###作者集装箱开发商- ##Usage 此映像旨在在 ContainerShip 集群上运行 cassandra。 不建议在其他地方运行此映像,...
cassandra集群隔段时间出现rt飙高的问题,带来的影响就是请求cassandra短时间内出现大量超时,这个问题发生已经达到了平均两周一次的频率,已经影响到正常业务了。而出现这些问题的原因主要有以下3点:当初设计表的...
cassandra-java-client 在cassandra集群上执行CRUD活动的简单Eclipse Maven项目
Linux系统下 1.Python脚本监控cassandra集群节点状态,发送告警邮件; 2.shell 脚本修复异常; 3.crontab 设置定时任务定时执行。
卡桑德拉公式 Salt Formula设置和配置Cassandra集群
terraform-cassandra-multinode:使用terraform设置3个节点的Cassandra集群
该项目展示了如何连接到多节点 cassandra 集群。 集群由 CCM(Cassandra Cluster Manager)管理。 创建杂波和数据模型 这里是我用来使用 ccm 创建集群的命令: ccm create cluster_test_1 -v 2.0.12 ccm populate...
明星 cstar是用于命令行的Apache Cassandra集群编排工具。为什么不简单地使用Ansible或Fabric? Ansible没有以拓扑感知方式运行事物所需的原语。 可以将C *群集分成多个组,这些组可以安全地并行执行,并且可以一次...