栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

[hadoop]数据迁移|判断文件|修改副本数|清理垃圾

[hadoop]数据迁移|判断文件|修改副本数|清理垃圾

1.数据迁移
hadoop distcp -Dmapreduce.job.queuename=hive2 
hdfs://ip1:8020/user/hive/warehouse/test.db/t1 
hdfs://ip2:8020/user/hive/warehouse/test.db/

ip1表示从哪里导入,ip2表示导入到哪里。

如果这条命令在ip1所在的节点运行则为ip1向ip2推送数据,此时用的是ip1的资源.

如果这条命令运行在ip2所在节点则为ip2从ip1拉取数据,此时用的是ip2的资源.

注意:ip为NameNode的内网ip.

增量同步用到的参数

-i 忽略错误

-update -append(已存在文件增量同步):如果同名文件的大小/block块大小/校验和相同则跳过.否则目标文件大小小于源文件,则说明对源文件进行了新的写操作,则计算源文件对应目标文件大小的校验和,如果源文件对应长度的校验和与目标文件的校验和完全一致,则表明源文件多出的数据是新写入的,前面的数据没有变动,支持append追加写.如果校验和发生了变化,则说明源文件前面部分的数据发生了变动,则会进行overwrite覆盖写.

设置队列

-Dmapreduce.job.queuename=hive2 设置yarn队列为hive2

注:

如何分辨多个distcp进程,ps -aux 查看脚本名

当你用脚本跑distcp的过程中,你用ctrl+c杀死了这个脚本,但是当前进行的表还是在跑,因为它已经被发布到yarn上了,你能做的只是等着这张表结束。

2.判断文件类型
-test -[defsz]  :
-d return 0 if  is a directory
-f return 0 if  is a file
-e return 0 if  exsits
-s return 0 if file  is greater than zero bytes in size.
-r return 0 if file  is zero bytes in size,else return 1.
3.修改副本数

假如原来的副本数为3,后来修改成了2.则新的副本数设置对已经写到hdfs的文件没有影响,只对新写的有影响.如果需要将原来的副本数修改为2,则可以手动设置.-R表示递归.

[root@cdh1 java]# hdfs dfs -du -h /user/hive/warehouse/
386.3 G  1.1 T    /user/hive/warehouse/xx.db
59.4 M   118.8 M  /user/hive/warehouse/xxx.db

su hdfs--要切换到hdfs用户
hdfs dfs -setrep -R 2 /user/hive/warehouse

结果
hdfs  dfs -du -h /user/hive/warehouse/
386.3 G  772.7 G  /user/hive/warehouse/xx.db
59.4 M   118.8 M  /user/hive/warehouse/xxx.db
4.清理hdfs垃圾
[root@hadoop1 ~]# hdfs dfs -du -h /user/root/.Trash/Current/
8.1 T  16.2 T  /user/root/.Trash/Current/user
hdfs dfs  -rm -r .Trash

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/751552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号