0
点赞
收藏
分享

微信扫一扫

如何迁移Kudu1.2的WAL和Data目录

生态人 2022-09-21 阅读 107

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



在Kudu配置的WAL和Data路径与其他服务(如NameNode、DataNode等)共用一块磁盘的情况下(可能会产生磁盘空间不足或者IO争用),需要将WAL和Data的目录迁移至新的磁盘上。本文主要讲述如何通过Cloudera Manager来完成Kudu Master和Tablet的WAL和Data目录迁移。


  • 内容概述

1.环境说明

2.Tablet Server角色操作

3.Kudu Master 角色操作

4.迁移验证


  • 测试环境

1.CM和CDH版本为5.10.2


  • 前置条件

1.CM和CDH集群正常

2.Kudu1.2服务器正常

3.新的数据盘已格式化并挂载


2.环境说明



这里由于Fayson的磁盘有限,所以将Kudu Master和Tablet配置的WAL和Data的路径分别修改为:


如何迁移Kudu1.2的WAL和Data目录_h5


  • Kudu服务的配置情况


角色分布


如何迁移Kudu1.2的WAL和Data目录_cloudera_02


磁盘配置


如何迁移Kudu1.2的WAL和Data目录_hive_03


迁移前my_first_table数据


如何迁移Kudu1.2的WAL和Data目录_hive_04


3.Tablet Server角色操作



1.停止4台TS中的一个角色实例


如何迁移Kudu1.2的WAL和Data目录_h5_05

如何迁移Kudu1.2的WAL和Data目录_cloudera_06


2.删除刚才停止的TS实例


如何迁移Kudu1.2的WAL和Data目录_hive_07


如何迁移Kudu1.2的WAL和Data目录_h5_08


3.进入到Kudu Master 的控制台,并查看Tablet Server的状态,等待至少5分钟(Time Since Heartbeat),直到这个被删除的TS进入Dead Table Servers列表中


如何迁移Kudu1.2的WAL和Data目录_h5_09


如何迁移Kudu1.2的WAL和Data目录_h5_10


如何迁移Kudu1.2的WAL和Data目录_hive_11


4.在master节点上执行如下命令,直到所有under replicas 的tablets都被复制到其他TS


kudu cluster ksck ip-172-31-21-45.ap-southeast-1.compute.internal


标注部分为Kudu Master服务的hostname,直到显示如下日志则表示数据迁移成功


如何迁移Kudu1.2的WAL和Data目录_h5_12


注意:这里Kudu数据默认为3副本,如果Tablet节点少于3个,执行上面的命令时会一直显示如下异常:所以Fayson这里使用4Tablet节点,如果少于Tablet节点少于3个时迁移可能导致数据丢失。


如何迁移Kudu1.2的WAL和Data目录_hive_13


5.然后,登录到这台被下线的TS服务器,找到之前kudu的wal和data目录,将之删除


删除WAL和Data目录


如何迁移Kudu1.2的WAL和Data目录_h5_14


6.然后回到Kudu服务-实例-添加角色实例,把刚才删除的服务器添加为新的TS


如何迁移Kudu1.2的WAL和Data目录_h5_15


如何迁移Kudu1.2的WAL和Data目录_h5_16


如何迁移Kudu1.2的WAL和Data目录_hive_17


7.使用默认的磁盘配置配置该新的TS,直至角色实例添加完成。完成后千万别启动该新的TS


如何迁移Kudu1.2的WAL和Data目录_cloudera_18


8.进入角色组,在TS组中添加新的组


如何迁移Kudu1.2的WAL和Data目录_h5_19


如何迁移Kudu1.2的WAL和Data目录_hive_20


9.并把新加的TS移动到这个组


如何迁移Kudu1.2的WAL和Data目录_cloudera_21


如何迁移Kudu1.2的WAL和Data目录_cloudera_22


10.然后打开这个新的TS实例,点配置,修改WAL的路径为新的路径


如何迁移Kudu1.2的WAL和Data目录_h5_23


11.然后启动该TS


如何迁移Kudu1.2的WAL和Data目录_hive_24


如何迁移Kudu1.2的WAL和Data目录_hive_25


如何迁移Kudu1.2的WAL和Data目录_cloudera_26


12.TS启动完成


如何迁移Kudu1.2的WAL和Data目录_cloudera_27


13.Master中查看TS状态正常加入了Cluster


如何迁移Kudu1.2的WAL和Data目录_cloudera_28


14.查看服务上新加入tablet节点的WAL和Data目录


如何迁移Kudu1.2的WAL和Data目录_h5_29


注意:以上为单节点操作,使用相同的方法,修改其他TS,直至所有TS修改完成。


4.Master角色操作



1.停止Master角色


如何迁移Kudu1.2的WAL和Data目录_hive_30


2.在所有master节点上,查看WAL的路径及owner,权限等


如何迁移Kudu1.2的WAL和Data目录_cloudera_31


3.执行如下命令,拷贝wal路径到新的磁盘


[ec2-user@ip-172-31-21-45 kudu_master]$ sudo mv fsdatadir/ fsdatadir1

[ec2-user@ip-172-31-21-45 kudu_master]$ sudo mv fswaldir/ fswaldir1


如何迁移Kudu1.2的WAL和Data目录_cloudera_32


(注意:如果拷贝过去之后,owner及组改变,请执行chown -R kudu:kudu * 进行修改)


4.在CM中修改Master的WAL路径配置,保存


如何迁移Kudu1.2的WAL和Data目录_cloudera_33


5.重启Master服务


如何迁移Kudu1.2的WAL和Data目录_h5_34


如何迁移Kudu1.2的WAL和Data目录_h5_35


至此为止Master节点的WAL和Data目录已迁移完成。


如何迁移Kudu1.2的WAL和Data目录_h5_36


5.迁移验证



登录Hue使用Impala查询Kudu表,验证数据是否有缺失:


如何迁移Kudu1.2的WAL和Data目录_h5_37


在逐个删除Kudu Tablet服务并删除WAL和Data目录后,重新加入集群并未造成Kudu表数据丢失。


如果通过Cloudera Manager直接修改Master和Tablet的WAL和Data目录会导致表数据丢失,使用命令检查数据完整性报如下错误:


[ec2-user@ip-172-31-21-45 kudu_master]$ kudu cluster ksck ip-172-31-21-45.ap-southeast-1.compute.internal


如何迁移Kudu1.2的WAL和Data目录_cloudera_38



为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。






推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

如何迁移Kudu1.2的WAL和Data目录_cloudera_39

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操


举报

相关推荐

0 条评论