大数据高可用系列--kudu高可用应急方案

二龙3年前技术文章1614

1 设置机架感知

1.1 前置说明

    1.9版本后的kudu已经支持机架感知(cdh6之后的版本中的kudu已支持),由于kudu的每个Tablet一般是三副本,一个leader两个flower,
且随机分布在不通数据节点;要想实现完全的跨机房高可用,则需要三个机房(对应三个机架),若2个机房的话,挂掉一个机房后,若有2个副本
(不论是两个flower或者一个flower一个leader)此tablet都无法自动回复三副本;当然只有一个副本的时候也可以通过命令来恢复
(不过若剩下的副本非leader,则有一定的数据丢失风险,flower未完全同步leader数据的情况下)

1.2 调整机架

根据实际情况,数据节点机架与机房保持一致即可(一个机房一个机架)

001.png

1.3 kudu rebalancer

进入cm页面 kudu服务,点击Run Kudu Rebalancer Tool进行自动均衡

002.png

均衡后观察Tablet的副本分布,发现已经均衡分布

003.png

2 高可用恢复

若数据已经分布在三个机房的机架,挂掉一个机房的多台主机,自动做个rebalancer即可,若为2个机房,停掉2台会涉及tablet挂掉2个副本的情况,
此时无法选主,无法rebalancer自动恢复,此时需要手动修复

2.1 获取异常tablet

sudo -u kudu kudu cluster ksck cdh1,cdh2,cdh3
获取异常的Tablet id,以及对应RUNNING状态的节点及其ID

004.png

2.2 修复Tablet

sudo -u kudu kudu remote_replica unsafe_change_config <tserver_address> <tablet_id> <peer uuids>
* tserver_address:可用副本所在的tserver(cdh2:7050)
* tablet_id:非健康的tablet
* peer uuids:可用副本所在的tserver的uuid
  
举例:
sudo -u kudu kudu remote_replica unsafe_change_config cdh2:7050 7fef9bf5de2b4cad93f88c94689dfb68 
b58a7ccb60b84623a3614b61b26f10ec

此命令无法修复leader已经挂掉(且挂掉了半数)的tablet

005.png

2.3 批量修复Tablet

如果有问题的tablet非常多,可以参考如下命令:
$ kudu cluster ksck localhost|grep -e '^Tablet '|awk '{print $2}'|xargs -i echo "sudo -u kudu kudu remote_replica 
unsafe_change_config cdh2:7050 {} <cdh2-uuid>"

上面命令可批量获取异常的tablet id并生成批量、修复命令

3 集群监控检查

修复工作完成后,执行如下命令,发现无异常tablet,及修复完成
sudo -u kudu kudu cluster ksck cdh1,cdh2,cdh3

此时可以观察任务运行是否恢复正常


相关文章

Keepalived安装部署

Keepalived安装部署

安装keepalivedyum 安装keepalivedyum install keepalivedkeepalived.conf配置文件进行调整,其中state设置主备状态,interface设置对...

Hive 重新编译-解决Tez JobName的问题

Hive 重新编译-解决Tez JobName的问题

本文采用linux编译首先下载源码https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-src.tar.gz源码位置ql/src/jav...

ranger_audits更换审计日志保留时间

ranger_audits更换审计日志保留时间

本次测试集群为:hdp: 3.1.5.0-152Infra Solr: 0.1.0Ranger: 1.2.0.3.1修改Solr 的中ranger_audits 数据保留时长HDP、CDP中Range...

Hdfs3.x新特性详解

Hdfs3.x新特性详解

HDFS Disk Balancer(磁盘均衡器)HDFS Disk Balancer与HDFS Balancer的区别?两者都是实现负载均衡功能HDFS Balancer是之前Hadoop2.x中本...

离线安装Kerberos

首先下载kerberos客户端所需rpm包在网站https://pkgs.org/搜索以下3个rpm包:https://pkgs.org/libkadm5krb5-libskrb5-workstati...

CDP实操--HDFS角色迁移

CDP实操--HDFS角色迁移

    hdfs角色迁移功能在cdp页面中就可以实现该功能,迁移的时间与namenode元数据大小,以及block数量多少有关,注意迁移过程中集群需要关闭,要预留出操作时间窗口。1、页面选择迁移角色2...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。