Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54542
  • 博文数量: 11
  • 博客积分: 185
  • 博客等级: 入伍新兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-09 11:07
文章分类

全部博文(11)

文章存档

2020年(1)

2013年(10)

我的朋友

分类: Java

2013-01-09 12:43:08

使用cassandra时, 故意做了一个节点,然后脱机.

这时cassandra集群可以插入数据(SIMPLE_STRATEGY,strategy_options = {replication_factor:3}),

但不能做删除动作了. 提示是必须所有节点在线时,才能删除.

移除已经断开的节点, 要用removenode:

在一个在线的节点上, 执行:

  1. ./nodetool removenode <被移除的node id>
查询这个nodeid用:
  1. ./nodetool status

例如:

这个Host ID(例如: 3f3e1d18-f462-4967-9c80-d027c0bda9e5 )就是nodeid

  1. Datacenter: datacenter1
  2. =======================
  3. Status=Up/Down
  4. |/ State=Normal/Leaving/Joining/Moving
  5. -- Address Load Owns (effective) Host ID Token Rack
  6. UN 172.16.40.145 99.29 KB 100.0% f30f4fa5-406a-471e-9fce-1e0c8d4a0a58 1324557258837143942 rack1
  7. UN 172.16.40.146 93.5 KB 100.0% 3f3e1d18-f462-4967-9c80-d027c0bda9e5 3299147226285011594 rack1
  8. UN 172.16.40.147 115.96 KB 100.0% e11f283f-625e-4e3f-86d7-94dfc627139d 5542618885665049534 rack1

删除时,会很慢, 

可以另外开一个控制台, 用./nodetool removenode status查看状态

如果发现总在等待一个节点, 可以停掉remove的那个进程, 再执行一次force

  1. ./nodetool remove force

这个命令,不用再加id

然后进入cassandra-cli,执行删除命令

  1. truncate joblog;
  2. joblog truncated.
  3. list joblog;
  4. Using default limit of 100
  5. Using default column limit of 100
  6. 0 Row Returned.
  7. Elapsed time: 12 msec(s).

删除成功了

阅读(3842) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~