cassandra集群可能有好多机器,这么多机器肯定有宕机的几率,而且机器越多,几率越大,当发生宕机的时候,你如何删除一个节点呢?
本文仅适应使用了vnodes的cassandra集群,怎么判断是否用了vnodes呢? 主要看你的cassandra.yml配置文件中,是否配置了initial_token,如果没有配置,就是使用了vnodes。使用了vnodes,删除了节点之后它会自己均衡数据,不要你手动处理。
根据官方文档的提示,操作步骤如下:
第一步:先每个机器都修复下每个keyspace
nodetool repair -h ip_address_of_node keyspace_name
第二步:如果你要删除的机器是UP状态的机器,没有宕机
你可以在要删除的机器上执行 nodetool decommission. 就直接结束了,否则继续:
第三步:如果你的机器是宕机的。
你要先用在一个活着的机器上执行nodetool status 命令,获取宕机节点的id
$ nodetool status
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
— Address Load Tokens Owns (effective) Host ID Rack
UN 192.168.2.101 112.82 KB 256 31.7% 420129fc-0d84-42b0-be41-ef7dd3a8ad06 RAC1
DN 192.168.2.103 91.11 KB 256 33.9% d0844a21-3698-4883-ab66-9e2fd5150edd RAC1
UN 192.168.2.102 124.42 KB 256 32.6% 8d5ed9f4-7764-4dbd-bad8-43fddce94b7c RAC1
第四步: 在活的节点上执行删除操作
nodetool removenode d0844a21-3698-4883-ab66-9e2fd5150edd
它会自己均衡数据,这里就直接结束了,否则继续。
第五步:再次使用nodetool status查看节点是否删除成功
$ nodetool status
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
— Address Load Tokens Owns (effective) Host ID Rack
UN 192.168.2.101 112.82 KB 256 37.7% 420129fc-0d84-42b0-be41-ef7dd3a8ad06 RAC1
UN 192.168.2.102 124.42 KB 256 38.3% 8d5ed9f4-7764-4dbd-bad8-43fddce94b7c RAC1
相关推荐
总之,Cassandra节点管理是一项涉及多个复杂步骤的任务,需要谨慎处理以确保集群的稳定运行。理解这些概念和流程对于有效管理和优化Cassandra集群至关重要。在实践中,应遵循最佳实践,并结合实际情况灵活应用。
cassandra_snapshotter, 在S3上,使用快照和增量备份备份cassandra节点的工具 cassandra_snapshotter在S3上使用快照和增量备份备份cassandra节点的工具项目的范围是使集群更容易备份到 S3,并合并快照和增量备份。...
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一...
Cassandra采用了虚拟节点(Vnode)技术,允许每个物理节点拥有多个不连续的Token值范围。这种设计有助于解决数据倾斜问题,并能加速新节点的融入速度。默认情况下,每个节点配置256个Vnode,但也可以根据节点的硬件...
3. 无中心:Cassandra没有中心节点,每个节点都是平等的,任何一个节点的失败都不会影响系统的整体运行。这提高了系统的容错性和可靠性。 4. 弹性可扩展:Cassandra可以很容易地添加新的节点来扩大数据库的规模,...
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。...
该结构使得每个节点功能完全相同,可以灵活地添加节点来完成系统的扩展或删除节点,而不需要大规模转移数据。同时,系统彻底避免了系统因单点故障导致的不稳定性。 1.1 系统架构 Cassandra的系统架构基于P2P环形...
token是cassandra里相当重要的一个概念,它是cassandra用来平衡集群内各节点负载的一个属性。cassandra里有不同的token分配策略,推荐采用默认的RandomPartitioner分区策略。在这个策略下,token是一个0~2的127次方...
Cassandra可以调整节点布局来避免某一个数据中心起火,备用的数据中心将至少有每条记录的完全复制。 1.6 范围查询 Cassandra支持范围查询,可以设置键的范围来查询。 1.7 列表数据结构 Cassandra支持列表数据...
Cassandra 是一个分布式、高度可扩展的NoSQL数据库系统,由Facebook最初开发,后成为Apache软件基金会的顶级项目。Cassandra 1.2 版本是在其早期版本的基础上进行了一系列优化和改进,增强了性能和稳定性,使其在大...
Cassandra 的主要特点就是它不是一个数据库,而是一个由一堆数据库节点共同构成的一个分布式网络服务,对 Cassandra 的一个写操作,会被复制到其他节点上去,对 Cassandra 的读操作,也会被路由到某个节点上面去读取...
总的来说,Cassandra是一个设计用于处理大数据量、高并发场景的分布式数据库系统,特别适合需要高可用性和分区容错性的应用场景。通过灵活的数据模型、复制策略和一致性控制,Cassandra能够满足各种复杂业务的需求。...
Cassandra-Operator是针对Apache Cassandra在Kubernetes集群中部署和管理的一个开源项目。它使得在Kubernetes环境中运行和扩展Cassandra数据库变得更加简单和自动化。在这个压缩包“cassandra-operator,apache-...
总之,Cassandra 3.11.3是一个强大且成熟的分布式数据库系统,它在数据分布、数据模型、节点通信、性能优化、数据安全等方面都有出色的表现,是应对大数据挑战的理想选择。无论是大型互联网公司还是中小型企业,都...
Apache Cassandra 是一个分布式数据库系统,特别设计用于处理大规模数据,具备高可用性、线性可扩展性和优秀的性能。在这个"apache-cassandra-3.11.13"版本中,我们探讨的是Cassandra项目的其中一个稳定版本,它包含...
Cassandra的核心特性在于其高可靠性、可伸缩性和分布式架构,它不是一个单一的数据库,而是由多个数据库节点组成的分布式网络服务。 - **数据模型**:Cassandra采用基于列集(Column Family)的数据模型,类似于...
DevCenter 是一个强大的工具,专为数据科学家、开发人员和管理员设计,用于与Apache Cassandra数据库进行交互。这个工具提供了一个直观的用户界面,使得管理、查询和开发Cassandra数据库变得简单易行。Cassandra是一...