今天在操作cassandra集群数据迁移时发生了一些意料之外的事情,服务器迁移前与迁移后同样为5台,但是不知道是什么原因导致的,迁移过后的节点居然多出了一台cassandra节点,个人瞬间感觉莫名其妙,但是问题节点的ip地址是原平台的cassandra数据库ip,所以感觉很不好,知道可能是因为那个环节出现了问题,因为是迁移演练所以没有决定删除所有数据,重新迁移只是将错误节点剔除了cassandra集群,操作如下:

官方文档建议

查看cassandra集群状态的命令

nodetool status
xss = -Dcassandra.fd_initial_value_ms=5000 -javaagent:/data/apps/opt/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms3987M -Xmx3987M -Xmn400M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/apps/log/cassandra//cassandra-1502968444-pid11574.hprof -Xss350k
Note: Ownership information does not include topology; for complete information, specify a keyspace
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 192.168.70.17 551.55 MB 256 16.9% de09bab3-4d79-47a8-9f09-ad68d189802c rack1
UN 192.168.70.18 610.19 MB 256 18.5% f4b541b1-f8e6-4ea6-a376-a7c797a071c8 rack1
UN 192.168.70.19 696.68 MB 256 15.6% 17fb7b42-6ae2-4d7a-829f-92eab163b96a rack1
UN 192.168.70.20 567.55 MB 256 14.7% 02a2fc29-91a5-4a36-b7f4-58a461b8cc9f rack1
DN 192.168.0.4 ? 256 17.4% 41528794-6454-4cb3-9e16-6f8b7961cc61 rack1  (问题节点所在)
UN 192.168.70.21 467.75 KB 256 17.0% 03197de4-e1a5-4e98-a38a-aa75f31d10d9 rack1
[root@ssy-db1 ~]# nodetool removenode 41528794-6454-4cb3-9e16-6f8b7961cc61

一、修复每台机器的keyspace

nodetool repair -h ip_address_of_node keyspace_name

二、如果要剔除的cassandra数据库的状态为UN,表示数据库为正常状态可以执行以下命令

nodetool decommission  (此命令同样适用于cassandra缩容,执行此命令在某台cassandra数据库,此数据库将退出当前cassandra集群,需要注意的是此命令执行时间过长,需要在tmux或者使用nohup的方式执行)

三、如果要剔除的cassandra数据库的状态为DN,可以直接执行以下命令将问题节点剔除

nodetool removenode 41528794-6454-4cb3-9e16-6f8b7961cc61
xss = -Dcassandra.fd_initial_value_ms=5000 -javaagent:/data/apps/opt/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms3987M -Xmx3987M -Xmn400M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/apps/log/cassandra//cassandra-1502969778-pid11978.hprof -Xss350k

四、接下来就是一段漫长的等待了,等到命令执行完成后在查看下是否还存在这个错误节点吧

nodetool status
xss = -Dcassandra.fd_initial_value_ms=5000 -javaagent:/data/apps/opt/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms3987M -Xmx3987M -Xmn400M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/apps/log/cassandra//cassandra-1502968444-pid11574.hprof -Xss350k
Note: Ownership information does not include topology; for complete information, specify a keyspace
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 192.168.70.17 551.55 MB 256 16.9% de09bab3-4d79-47a8-9f09-ad68d189802c rack1
UN 192.168.70.18 610.19 MB 256 18.5% f4b541b1-f8e6-4ea6-a376-a7c797a071c8 rack1
UN 192.168.70.19 696.68 MB 256 15.6% 17fb7b42-6ae2-4d7a-829f-92eab163b96a rack1
UN 192.168.70.20 567.55 MB 256 14.7% 02a2fc29-91a5-4a36-b7f4-58a461b8cc9f rack1
UN 192.168.70.21 467.75 KB 256 17.0% 03197de4-e1a5-4e98-a38a-aa75f31d10d9 rack1
  至此cassandra错误节点清除与cassandra缩容完成。

cassandra集群缩容与剔除问题节点的更多相关文章

  1. cassandra集群

    cassandra是分布式数据库属于nosql,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障. Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间. ...

  2. Ubuntu18.04 LTS 搭建Cassandra集群

    环境需求 jdk8 root@node01:~# java -version java version "1.8.0_202" Java(TM) SE Runtime Enviro ...

  3. 基于docker创建Cassandra集群

    一.概述 简介 Cassandra是一个开源分布式NoSQL数据库系统. 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynam ...

  4. hadoop 集群 加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令

    加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令 方式1:静态添加datanode,停止namenode方式 1.停止namenode 2.修改slaves文件,并更新到各个节点3.启动na ...

  5. 向CDH5集群中添加新的主机节点

    向CDH5集群中添加新的主机节点 步骤一:首先得在新的主机环境中安装JDK,关闭防火墙.修改selinux.NTP时钟与主机同步.修改hosts.与主机配置ssh免密码登录.保证安装好了perl和py ...

  6. 数据源管理 | 分布式NoSQL系统,Cassandra集群管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.Cassandra简介 1.基础描述 Cassandra是一套开源分布式NoSQL数据库系统.它最初由Facebook开发,用于储存收件箱 ...

  7. cassandra集群环境搭建——注意seeds节点,DHT p2p集群管理难道初始化都应如此吗?

    解压cassandra的安装包后可以查看主要的配置文件,都在conf/目录下,conf/cassandra.yaml比较重要,其中需要着重注意的有以下一些配置项: cluster_name: 'TC0 ...

  8. cassandra 集群并发测试脚本

    prepare: create keyspace ycsb WITH REPLICATION = { }; USE ycsb; CREATE TABLE users ( firstname text, ...

  9. Cassandra 集群配置

    集群机制 一致性哈希(数据一致性) Token Range Partitoner Gossip协议(流言,无中心获取领导者) 用于在环内节点之间传播状态信息 周期运行,每次在环中随机挑选一个对象节点, ...

随机推荐

  1. inner outer

    left join 是left outer join的简写,left join默认是outer属性的. Inner JoinInner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输 ...

  2. Quartz入门

    Quartz体系结构: 明白Quartz怎么用,首先要了解Scheduler(调度器).Job(任务)和Trigger(触发器)这3个核心的概念.请注意加粗内容. 1. Job: 是一个接口,只定义一 ...

  3. cdoj第13th校赛初赛H - Hug the princess

    http://acm.uestc.edu.cn/#/contest/show/54 H - Hug the princess Time Limit: 3000/1000MS (Java/Others) ...

  4. OC - runtime - 1

  5. AasyncTask中执行execute()还是executeOnExecutor()

    executeOnExecutor()api 11 才出现的 并行的 效率比execute()高因为execute()是串行的 import android.app.Activity; import ...

  6. IBM MQ 学习

    import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.ibm.mq.MQC; i ...

  7. apache配置防盗链

    1.确保apache已开启rewrite.   2.在.htaccess文件中添加如下: RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://X ...

  8. Spring框架的特点

    1. 为什么要学习Spring的框架 * 方便解耦,简化开发 * Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 * AOP编程的支持 * Spring提供面向切面 ...

  9. CookiesHelper

    /// <summary> ///CookiesHelper 的摘要说明 /// </summary> public class CookiesHelper { public ...

  10. final修饰符:

    知识点: 1.final关键字用于修饰类.变量和方法 2.有点类似C#里的 sealed 关键字,用于表示它修饰的方法.变量和类不可以再被改变 3.final修饰变量时,表示该变量一旦获取了初始值,就 ...