查看kafka某topc下的文件
[root@localhost TOPIC_QUEUE_ID-0]# ls -l
total 2932
-rw-r--r-- 1 root root 10485760 Oct 30 2017 00000000000003771019.index
-rw-r--r-- 1 root root 2985451 Oct 30 2017 00000000000003771019.log
-rw-r--r-- 1 root root 10485756 Oct 26 2017 00000000000003771019.timeindex
[root@localhost TOPIC_QUEUE_ID-0]# du -m 00000000000003771019.log
3 00000000000003771019.log
[root@localhost TOPIC_QUEUE_ID-0]# du -m 00000000000003771019.index
1 00000000000003771019.index
[root@localhost TOPIC_QUEUE_ID-0]# du -k 00000000000003771019.index
8 00000000000003771019.index
[root@localhost TOPIC_QUEUE_ID-0]# du -k 00000000000003771019.log
2920 00000000000003771019.log
index文件在ls -l下是10M,在du -k下才8KB
怎么回事?
因为你看到的是稀疏文件
比如虚拟机的硬盘文件,就是一种典型的稀疏文件。而kafka的官方文档也说了,日志文件就是创建一个稀疏文件,比如下面的内容就摘自于官方文档:
注意官方文档的描述,每个log segment就是预先创建的稀疏文件