集群间数据拷贝和Hadoop存档对于小文件处理

版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83795288
  1. scp实现两个远程主机之间的文件复制

     scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt  // 推 push
     scp -r root@hadoop103:/user/atguigu/hello.txt hello.txt  // 拉 pull
     scp -r root@hadoop103:/user/atguigu/hello.txt root@hadoop104:/user/atguigu //是通过本
     地主机中转实现两个远程主机的文件复制;如果在两个远程主机之间 ssh 没有配置的情况下
     可以使用该方式。
    
  2. 使用discp命令实现两个hadoop集群之间的递归数据复制

     atguigu@hadoop102  hadoop-2.7.2]$  bin/hadoop  distcp
     hdfs://haoop102:9000/user/atguigu/hello.txt hdfs://hadoop103:9000/user/atguigu/hello.txt
    

Hadoop存档

  1. hdfs存储小文件弊端
    每个文件均按照块存储,每个块存储在namenode的内存中,因此hadoop存储小文件会非常低效,因为大量的小文件耗尽namenode中大部分内存,但是存储小文件所需要的磁盘容量和存储这些文件原始内容所需磁盘空间相对不会增加太多

例如:一个1Md的文件大小按照128MB的块存储,实际使用的是1MB的磁盘空间,不是128MB

  1. 解决存储小文件的方法之一
    Hadoop存到文件或者HAR文件,是一个更高效的文件存档工具**,它将文件存入HDFS块,**在较少namenode内存使用的同时.允许对文件进行透明的访问,具体:
    Hadoop存档文件对内还是一个独立文件.对namenode而言.却是一个整体,减少来了namenode的内存

实际就是小文件合并,对于namenode是一个文件

  1. 保证yarn进程的开启

  2. 上传几个小文件
    在这里插入图片描述
    3)归档文件

     [root@testnote01 test]# hadoop archive -archiveName 116har.har -p /test/zyd /test
    

在这里插入图片描述
实际是一个mar程序

在这里插入图片描述
在这里插入图片描述
是一些索引

归档成一个叫做XXX.har的文件夹,该文件夹下有相应的数据文件,Xx.har目录是一个整体,该目录看成一个归档的文件即可

查看归档

[root@testnote01 test]# hadoop fs -lsr /test/116har.har
lsr: DEPRECATED: Please use 'ls -R' instead.
-rw-r--r--   3 root supergroup          0 2018-11-07 05:34 /test/116har.har/_SUCCESS
-rw-r--r--   5 root supergroup        185 2018-11-07 05:34 /test/116har.har/_index
-rw-r--r--   5 root supergroup         23 2018-11-07 05:34 /test/116har.har/_masterindex
-rw-r--r--   3 root supergroup          6 2018-11-07 05:33 /test/116har.har/part-0

具体查看

[root@testnote01 test]# hadoop fs -lsr har:///test/116har.har
lsr: DEPRECATED: Please use 'ls -R' instead.
-rw-r--r--   3 root supergroup          6 2018-11-07 05:29 har:///test/116har.har/a.txt
-rw-r--r--   3 root supergroup          0 2018-11-07 05:29 har:///test/116har.har/read.txt

解归档文件

 hadoop fs -cp har:///test/116har.har/read.txt /

相当于一个har:// 的归档协议

猜你喜欢

转载自blog.csdn.net/wwwzydcom/article/details/83795288
今日推荐