cassandra集群缩容与剔除问题节点
今天在操作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集群缩容与剔除问题节点的更多相关文章
- cassandra集群
cassandra是分布式数据库属于nosql,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障. Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间. ...
- Ubuntu18.04 LTS 搭建Cassandra集群
环境需求 jdk8 root@node01:~# java -version java version "1.8.0_202" Java(TM) SE Runtime Enviro ...
- 基于docker创建Cassandra集群
一.概述 简介 Cassandra是一个开源分布式NoSQL数据库系统. 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynam ...
- hadoop 集群 加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令
加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令 方式1:静态添加datanode,停止namenode方式 1.停止namenode 2.修改slaves文件,并更新到各个节点3.启动na ...
- 向CDH5集群中添加新的主机节点
向CDH5集群中添加新的主机节点 步骤一:首先得在新的主机环境中安装JDK,关闭防火墙.修改selinux.NTP时钟与主机同步.修改hosts.与主机配置ssh免密码登录.保证安装好了perl和py ...
- 数据源管理 | 分布式NoSQL系统,Cassandra集群管理
本文源码:GitHub·点这里 || GitEE·点这里 一.Cassandra简介 1.基础描述 Cassandra是一套开源分布式NoSQL数据库系统.它最初由Facebook开发,用于储存收件箱 ...
- cassandra集群环境搭建——注意seeds节点,DHT p2p集群管理难道初始化都应如此吗?
解压cassandra的安装包后可以查看主要的配置文件,都在conf/目录下,conf/cassandra.yaml比较重要,其中需要着重注意的有以下一些配置项: cluster_name: 'TC0 ...
- cassandra 集群并发测试脚本
prepare: create keyspace ycsb WITH REPLICATION = { }; USE ycsb; CREATE TABLE users ( firstname text, ...
- Cassandra 集群配置
集群机制 一致性哈希(数据一致性) Token Range Partitoner Gossip协议(流言,无中心获取领导者) 用于在环内节点之间传播状态信息 周期运行,每次在环中随机挑选一个对象节点, ...
随机推荐
- linux安装本地blast
1)wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.8.0alpha/ncbi-blast-2.8.0-alpha+-x64-li ...
- Spring简单获得实体类的实例, 使用ApplicationContext()方法的几点注意事项
今天接触了Spring的初步用法, 感觉跟实例化实体类没啥区别, 像这种简单的代码还不如直接实例化来的方便, 这样使用Spring的话总共需要三个文件 第一个当然是一个实体类了, 定义好属性, get ...
- Water Tree(树链剖分+dfs时间戳)
Water Tree http://codeforces.com/problemset/problem/343/D time limit per test 4 seconds memory limit ...
- OC -网络请求 - NSURLConnection - GET
#import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDelegate> ...
- 理解dynamic programming动态规划
何谓动态规划? 以菲波那切数列为例, int fib(int n ){ if(n == 0 || n ==1){ return 1; }else{ return fib(n - 1) + fib(n ...
- 使用Ansible部署etcd 3.2高可用集群
之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. ...
- php 使用PHPExcel 导出数据为Excel
<?php require_once 'PHPExcel/Classes/PHPExcel.php'; /** * 导出数据为Excel * @param array $fieldArr 标题数 ...
- linux的ssh服务
1.检查是否安装ssh > rpm -qa|grep ssh 2.安装ssh服务 > yum install ssh 配置 /etc/ssh/sshd_config 端口 22 3.启动s ...
- SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法
.NET 中 SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 一. 1.将项目逐个进行编译, ...
- Flask源码剖析详解
1. 前言 本文将基于flask 0.1版本(git checkout 8605cc3)来分析flask的实现,试图理清flask中的一些概念,加深读者对flask的理解,提高对flask的认识.从而 ...