今天在操作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. Linux 软件 安装到 /usr,/usr/local/ 还是 /opt 目录

    Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32./u ...

  2. 超薄二维Mo2C晶体

    记者今天从中国科学院金属研究所获悉,该所沈阳材料科学国家(联合)实验室先进炭材料研究部任文才研究组在大尺寸高质量二维过渡族金属碳化物晶体的制备与物性研究方面取得了重要突破.相关成果日前在<自然— ...

  3. 【MySQL报错】ERROR 1558 (HY000): Column count of mysql.user is wrong. Expected 43, found 39.

    原文参考:http://wuzhuti.cn/2348.html 之前在centos6.4系统安装的是自带的mysql 5.1版本,后来升级到了5.6版本,执行以下命令报错 在网上查找原因说说因为升级 ...

  4. vue 实例生命周期

    compile template into render function 编译模板渲染方法 compile el’s ouoterHtml as template 将el的outerHTML当做模板 ...

  5. swift UIAlertController使用 UIAlertController的宽度 为270

    添加子控件 1. 有标题, alert标题高度大概 是 40, 子控件的 Y一般在40 ,如果中间有换行, \n 的高度大概是30 2.alert的宽度 是270, 设置frame 的时候注意 /// ...

  6. Windows系统文件mshtml.dll

    今天,在vista 32bit,sp 2,IE7的机器上跑开发的软件产品,打开IE,被测系统总是崩溃,换了一台机器,同样的配置环境,却没有重现. 同事的分析很详细,学习了 I tried this c ...

  7. Java数据结构和算法(一)散列表

    Java数据结构和算法(一)散列表 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 散列表(Hash table) 也叫哈希表 ...

  8. 旅游类APP原型模板分享——爱彼迎

    这是一款专为游客提供全球范围内短租服务的APP,可以让你不论出门在外或在家附近都能开展探索之旅,并且还可以获取世界各地独特房源.当地体验及好去处等相关信息. 这款APP层级清晰简明,此原型模板所用到的 ...

  9. AMD、CMD、UMD 模块的写法

    简介 最近几年,我们可以选择的Javascript组件的生态系统一直在稳步增长.虽然陡增的选择范围是极好的,但当组件混合匹配使用时就会出现很尴尬的局面.开发新手们会很快发现不是所有组件都能彼此“和平相 ...

  10. MyISAM压缩表

    如果表在创建并导入数据以后,不会在进行修改操作,那么这样的表或许适合采用MyISAM压缩表. 压缩表可以极大地减少磁盘空间暂用,因此也可以减少磁盘I/O,从而提升查询性能,压缩表也支持索引.