Cassandra作为目前很热门的一个NOSQL型数据库,引起了很多的关注。对NOSQL感兴趣的我,也来作了一次简单的测试。
废话不多说,下面就来介绍下Cassandra多节点的部署。
部署要求:
1. JDK1.6
2. OS:linux,我在windows上实验过,不知道为啥一直没通(7000端口上只有windows的发包,双方不互相通信)
3. cassandra 0.6
OK,基本的东西都有了,进入到cassandra的目录,首先需要修改一些相关的文件路径:
1. log4j.properties 文件输出路径修改
2. storage-conf.xml CommitLogDirectory和DataFileDirectory路径修改
接着进行分布式节点的配置,还是修改torage-conf.xml :
1. <ClusterName>Test Cluster</ClusterName>
这个要求所有节点的名字都相同,如果不相同,则报类似 AName != BName 的错误
2. <ColumnFamily Name="Standard1" CompareWith="BytesType"/>
配置ColumnFamily 的一些属性,其中name是所要使用的ColumnFamily 名称,可以多个,客户端做CRUD操作时需要指定。注意所有的节点配置都需要一样(我就曾因配置不一致出过ClassCastException的异常)
3. <ReplicationFactor>2</ReplicationFactor>
配置数据需要复制的数量,复制的策略分RackUnawareStrategy和RackAwareStrategy两种方式(会根据不同的数据分布策略将复制数据进行不同的分布,参考:
http://wiki.apache.org/cassandra/Operations)
4. <Seeds>
<Seed>10.10.13.220</Seed>
<Seed>10.10.13.181</Seed>
<Seed>10.10.13.232</Seed>
</Seeds>
这个是所有分布式服务器节点的IP地址,如上面配置了3个IP即3个Cassandra节点
5. <ListenAddress>10.10.13.220</ListenAddress>
<ThriftAddress>10.10.13.220</ThriftAddress>
本节点监听客户端数据和与其他服务器节点通信的IP地址,只能为本机IP,且不能为127.0.0.1或localhost,否则与其他服务器不能建立正确交互
此处的IP地址也可以不填,即值为空,则所有的节点配置都一样,更方便部署。
搞定storage-conf.xml !下面的工作就是将所有的Cassandra服务器节点依次启动,通过日志就可以看到相关的节点连接上了,日志为:
INFO 13:04:52,098 Node /10.10.13.232 is now part of the cluster
到这里,Cassandra分布式节点服务器的搭建就完成了。使用官网提供的客户端代码进行测试,发现数据已经提交到服务器并且在多个节点间进行复制了
在这里抱怨一下:之前由于没有足够的服务器,使用windowsXP+solaris双节点进行测试,发现怎么也建立不起来。。。后来加入linux后,solaris+linux的方式却能正常走通,配置也都是一样的。
有空研究下为何在我的windows上不支持。。。。
参考地址:
http://cassandra.apache.org/
分享到:
相关推荐
“横平”指的是数据的横向扩展,即通过增加更多的服务器节点来分散负载,提高系统处理能力。这种方式允许系统水平扩展,处理更大规模的数据流,并且在不同节点间保持数据一致性。而“竖直”则涉及到数据的垂直分区,...
- **高度可扩展性**:Cassandra通过简单的节点添加即可扩展存储和处理能力,无需重启任何进程或修改应用程序。 - **多数据中心支持**:Cassandra支持跨多个数据中心的部署,每个数据中心都可以作为读写操作的端点,...
1. **分布式架构**:Cassandra采用分布式架构,可以跨多个数据中心和数百台服务器部署,保证数据的高可用性和容错性。每个节点都与其他节点通信,通过Gossip协议交换状态信息。 2. **一致性与可用性**:Cassandra...
10. **分布式数据库**:如MySQL Cluster、Cassandra、HBase,提供跨多台服务器的数据存储和查询能力,支持大数据量和高并发。 11. **服务发现与注册**:如Eureka、Consul、Zookeeper,用于动态跟踪服务实例,实现...
分布式存储则允许Cassandra跨多台服务器存放数据,提供高可用性和水平扩展性。故障容忍机制通过数据复制确保了即使在节点故障情况下,数据仍然可以被访问。 书中详细介绍了Cassandra的数据模型,包括超级列、列族和...
分布式数据库如Cassandra、Cosmos DB和Riak提供了跨多个节点的数据复制和一致性保证,以实现高可用性和容灾能力。.NET Framework和.NET Core都提供了丰富的库和驱动程序来支持这些数据库的使用。 除此之外,分布式...
1. **节点**:分布式系统由多个相互连接的节点组成,每个节点可以是服务器、工作站或嵌入式设备。它们通过网络通信,共同完成任务。 2. **负载均衡**:为了最大化资源利用和避免单点故障,分布式系统需要有效地分配...
分布式Java应用是现代企业级软件开发中的重要组成部分,它涉及到多个服务器协同工作,以处理大规模数据和高并发请求。在本资源包中,"分布式Java应用完整版"提供了全面的学习资料,包括视频教程和电子书,帮助开发者...
每个Cassandra节点都是一个独立的服务器,负责存储一部分数据。集群由多个节点组成,可跨多个数据中心分布以优化地理冗余性和读写性能。在进行配置时,需要设置各种参数,如内存分配、存储引擎、复制因子和一致性...
分布式系统是计算机科学中的一个重要领域,它涉及到多个独立的计算节点通过网络进行协作,共同完成一个任务或提供服务。这份“分布式系统 概念与设计 习题答案(完整版)”涵盖了该领域的核心概念、设计原则以及常见...
4. **内容分发网络(CDN)**:通过在全球范围内部署边缘服务器,提高网站内容的访问速度和可用性。 5. **云存储服务**:如Amazon S3,提供可靠的分布式存储解决方案。 6. **分布式文件系统**:如Hadoop HDFS,支持...
Cassandra 是基于 Java 开发的分布式数据库管理系统,因此在安装 Cassandra 之前,需要确保系统已安装 Java 环境。 1. **下载 Java** 首先通过 wget 命令下载 Java JDK。这里使用的是 Oracle 的 JDK 8 版本: ``...
Apache Cassandra是一个开源的、分布式的NoSQL数据库管理系统,它特别适合于管理大量的结构化数据跨多个服务器。由于其优秀的扩展性和高可用性,它被广泛用于需要低延迟和无单点故障的应用场景。Cassandra 2.0版本...
分布式系统是计算机科学中的一个重要领域,它涉及到多个独立计算节点通过网络进行通信和协作,以完成共同的任务。在2021年电子科技大学的研究生课程中,这个主题显然是一个核心内容,因此,对于准备相关考试的学生来...
- 分布式系统中的数据管理:适合跨数据中心部署。 3. **核心优势**: - **水平扩展性**:通过增加节点数量轻松扩展存储容量和性能。 - **数据一致性与可用性权衡**:Cassandra允许用户在一致性和可用性之间进行...
1. **分布式架构**:Cassandra 是基于 Google 的 Bigtable 论文设计的,采用了分布式、无中心的架构,能够自动在多台服务器上复制数据,提供高可用性和容错性。 2. **数据模型**:Cassandra 支持列族(Column ...
6. **分布式数据库**:如Hadoop的HBase、Cassandra,以及关系型数据库的分布式实现如Google的Bigtable,它们解决了大数据存储和查询的问题。 7. **分布式锁与并发控制**:解决多节点间的资源竞争问题,如Zookeeper...
首先,Solr是基于Java开发的分布式搜索引擎,它基于Lucene库,提供Web服务器式的API,广泛应用于各种企业。Solr具有良好的可扩展性和高效的查询性能,支持索引分片以实现数据在多台机器上的分布式存储。然而,Solr在...
Cassandra 的核心理念在于它能够在多台服务器之间分散数据,以实现无单点故障的设计,同时还能在不断增长的数据量下保持高性能。 **1. NoSQL 数据库** NoSQL(Not Only SQL)是一种非关系型数据库模型,它不遵循...