在实际生产应用总难免会遇到一些小文件,而对于任何一个文件块来说,无论块本身的大小如何,他们的元数据都会在内存中占用150个字节,如果系统中存储了大量的小文件,那么就会造成较大的资源浪费,所以我们会对小文件进行归档,使多个小文件当作一个文件去占用内存中的150个字节。实现如下:
- 启动yarn
该过程背后实际上是MapReduce在操作,所以要确保yarn进程是启动的。
[root@hadoop302 sbin]# ./start-yarn.sh
- 上传多个测试小文件
[root@hadoop301 hadoop-3.1.3]# cd testdata/;ll
total 32
-rw-r--r--. 1 root root 43 Jul 30 08:39 dept.txt
-rw-r--r--. 1 root root 78 Jul 30 08:38 employee.txt
-rw-r--r--. 1 root root 72 Jul 24 08:36 testcombine1.txt
-rw-r--r--. 1 root root 88 Jul 24 08:37 testcombine2.txt
-rw-r--r--. 1 root root 24 Jul 24 08:37 testcombine3.txt
-rw-r--r--. 1 root root 351 Jul 24 08:38 testcombine4.txt
-rw-r--r--. 1 root root 381 Jul 24 08:39 testcombine5.txt
-rw-r--r--. 1 root root 69 Jul 29 09:22 testorder.txt
[root@hadoop301 testdata]# pwd
/usr/local/wyh/software/hadoop-3.1.3/testdata
[root@hadoop301