前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何迁移Kudu1.2的WAL和Data目录

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

作者头像
Fayson
修改2018-04-01 20:49:52
1.1K0
修改2018-04-01 20:49:52
举报
文章被收录于专栏:Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 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的路径分别修改为:

  • Kudu服务的配置情况

角色分布

磁盘配置

迁移前my_first_table数据

3.Tablet Server角色操作


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

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

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

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

代码语言:txt
复制
kudu cluster ksck ip-172-31-21-45.ap-southeast-1.compute.internal

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

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

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

删除WAL和Data目录

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

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

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

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

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

11.然后启动该TS

12.TS启动完成

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

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

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

4.Master角色操作


1.停止Master角色

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

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

代码语言:txt
复制
[ec2-user@ip-172-31-21-45 kudu_master]$ sudo mv fsdatadir/ fsdatadir1
代码语言:txt
复制
[ec2-user@ip-172-31-21-45 kudu_master]$ sudo mv fswaldir/ fswaldir1

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

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

5.重启Master服务

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

5.迁移验证


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

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

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

代码语言:txt
复制
[ec2-user@ip-172-31-21-45 kudu_master]$ kudu cluster ksck ip-172-31-21-45.ap-southeast-1.compute.internal 

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档