Riak节点退环分区传输卡顿:请求加速或安全取消并恢复节点方案
Riak节点退出时分区传输过慢的处理方案
一、试试这些加速传输的办法
- 排查资源瓶颈:当前传输速度16.96MB/s,先确认节点间网络是否被其他流量占用,或者目标节点
media-riak@gcp-01-internal.com的磁盘写入能力是否受限,可通过iostat、vmstat命令查看磁盘IO负载。 - 调整Riak传输限制:修改
riak.conf中的transfer_limit参数(默认可能有带宽上限),比如设置为transfer_limit = 100MB(根据实际网络带宽调整),修改后重启Riak服务——注意先备份配置文件,且参与传输的节点都需要调整该参数。 - 暂停非必要操作:暂时停止集群的写入、查询等业务操作,优先将系统资源分配给分区传输任务。
二、取消传输并让节点重回集群的步骤
1. 强制终止当前传输进程
在集群任意节点上执行以下命令,直接终止卡住的退出流程:
riak-admin force-remove riak@gcp-07-internal.com
注:你的所有桶
n_val=3,集群有足够数据副本,执行该命令不会导致数据丢失。
2. 解决"node already exists"错误,重新加入集群
提示节点已存在是因为集群元数据中仍保留该节点的信息,需先清理本地环数据:
- 在
riak@gcp-07-internal.com节点上执行:riak stop rm -rf /var/lib/riak/ring/* # 若你的Riak环数据存储在其他路径,替换为对应路径即可 riak start - 接着在该节点执行集群加入命令:
riak-admin cluster join media-riak@gcp-01-internal.com - 最后提交集群变更:
riak-admin cluster plan # 先确认变更计划无异常 riak-admin cluster commit
3. 验证集群状态
提交变更后等待集群重新平衡,通过以下命令确认节点和环状态:
riak-admin member-status riak-admin ring-status
内容的提问来源于stack exchange,提问作者Patrick Kokou
相关产品推荐
相关产品推荐

