相同集群间数据迁移
操作
网上帖子很多,主要就是一条命令,附下:
hadoop distcp hdfs://172.51.113.13:8020/user/wifi/huajie/2018-12-30 hdfs://172.51.113.63:8020/user/wifi/cs/
13是源集群node,63是目标集群node
集群检查:
可以查看文件大小:hdfs dfs -du -h /全路径
主要注意的问题是:
1、注意要迁移的node主机编号,这边因为HDFSWebUI没有显示,所有排查这个问题排查蛮久,如果不知道自己node机器是哪个,可以连接自己的8020端口;
2、其他的注意事项我附几个大神的连接,
https://blog.csdn.net/Sakura555/article/details/99654645
https://www.jianshu.com/p/d2068b8247a7
https://www.cnblogs.com/sixiweb/p/11344125.html
3、官网distcp相关参数
http://hadoop.apache.org/docs/r1.0.4/cn/distcp.html
4、数据迁移到hive目录下后需要执行一条命令,作用是将目录下的数据刷到hive表中
msck repair table xxx;
小结:
数据迁移是要准备也是要考虑很多问题,比如说带宽,Map数目最优设置等问题,但是因为操作的集群数据数据量不大,400G的样子,集群带宽也不用考虑,所以操作起来比较简单,没有考虑那么多的因素,数据迁移的时候也没有出现问题,不然要考虑update和overwrite的问题了。
如果是hive表做数据迁移的话,就先把目标集群的hive表建好,后面直接做迁移就ok了。
注意迁移数据的时候的目录,别来2回。。。。