二、清除节点上的gossip状态

##清除节点上的gossip状态

gossip信息由每个节点在本地保存,以便在节点重启时立即使用,而不必等待gossip通信。

###步骤

如果你需要在gossip状态下纠正一个问题:

1.使用nodetool assassinate关闭问题节点。这需要大约35秒才能完成,因此请等待确认节点已被删除。

2.如果此方法不能解决问题,请停止客户端应用程序向群集发送写入操作。

3.使整个集群脱机:

  • 清空每个节点。
$ nodetool options drain
  • 停止每个节点:
sudo service cassandra stop

4.清除peers目录中的数据,删除peers- UUID目录中的所有目录,其中UUID是对应于相应节点的特定目录:

$ sudo rm -r /var/lib/cassandra/data/system/peers-UUID/*

**警告:**执行此步骤时请小心。该操作会清除Cassandra的内部系统数据,并可能导致应用程序停机而无法执行和验证结果。要验证结果,请在每个节点上分别运行以下查询,以确认所有节点都能够看到所有其他节点。

select * from system.peers;

5.当节点启动时清除gossip状态:

  • 对于tarball安装,您可以使用命令行选项或编辑 cassandra-env.sh。要使用命令行:
#install_location /conf/cassandra-env.sh
$ install_location / bin / cassandra -Dcassandra.load_ring_state = false
  • 对于软件包安装,或者如果您不使用上面的命令行选项,请将以下行添加到cassandra-env.sh文件中:
#/usr/share/cassandra/cassandra-env.sh
JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false"

6.从集群节点开始,一次将集群联机到一个节点。

  • Cassandra软件包安装:
$ sudo service cassandra start
  • Cassandra tarball安装:
$ cd install_location 
$ bin/cassandra

7.删除在cassandra-env.sh文件中添加的行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值