高版本shiva/TDDMS如何在shell上进行Shiva master group修复

  其他常见问题
内容纲要

概要描述

本案例用于解决高版本集群内 Shiva Master 运行异常,个别 master 启动失败的问题;
在shell下利用可执行文件 shiva_tool 修复 master group;

注意:修复的前置条件是至少有一台 Shiva Master 的状态是正常的!用以进入 pod 且可以执行shiva_tool脚本;

详细说明

Shiva安装时默认推荐的 Shiva Master 节点数应该至少是3,当 Master group 只剩少数节点存活时,为了保证 Master 提供的数据的一致性,此时 Master 就无法对外提供服务;
修复逻辑主要分为以下几步:

  1. 选择一个功能正常的 Shiva Master 节点,并将该节点变成集群唯一的 Shiva Master ;
  2. 停止其他 shiva Master 角色
  3. 删除其他 shiva Master 数据路径下的元数据库;
  4. 启动其他 shiva Master 角色
  5. 将其他的 shiva master 添加到 Shiva 集群

1 选择一个功能正常的 Shiva Master 节点,并将该节点变成集群唯一的 Shiva Master

获取状态正常的 Shiva Master 的pod name,以本例,只有一个master正常

file

停止32节点,这个不健康的shiva master
高版本的指定shiva master 需要额外的指定
–master_token_server_id=${master_server_id}
–master_token_timestamp=${master_token_timestamp};

所以,进入健康的shiva master pod内,先获取上面的master_server_id 以及 master_token_timestamp

/usr/shiva-master/bin/shiva_tool --cmd=print_master_token --master_token_path=/etc/argodbstorage1/conf/shiva/.token

file

开始set_master_group

/usr/shiva-master/bin/shiva_tool  --cmd=set_master_group --address=${master_address} --master_token_server_id=${master_server_id}
--master_token_timestamp=${master_token_timestamp}

根据场景,实际操作的命令是

/usr/shiva-master/bin/shiva tool -cmd=set_master_group --addres=10.3.228.30:9630 --master_token_server_id=33964652373406 --master_token timestamp=163695872851159

单个shiva master没有set_master_group的时候shiva webui是启动不了的,一边set_master_group成功后,shiva web可以启动成功。

file

2 在确认不健康的shiva master停止后,删除其元数据库

file

登录到其他的shiva master节点上,删除对应的数据目录

file

3 manager页面启动不正常的shiva master

file

4 进入第一步选择的Shiva Master pod,将其他的 shiva master 添加到 Shiva 集群

/usr/shiva-master/bin/shiva_tool --master_group=${master_address} --cmd=add_master_member --address=${不健康的master_address} --master_token_server_id=${master_server_id}
--master_token_timestamp=${master_token_timestamp}

根据场景,实际操作的命令是

/usr/shiva-master/bin/shiva_ool --master_group=10.3.228 30:9630 --cmd=add_master_member --addres=10.3.28.32:9630 --master_token_server_id=33964652373406 --master_token_timestamp=1636958872851159

执行完成后,可以通过webui观察一下

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。