问题背景:
目前kafka中每天有10T数据左右,需要每天将这些数据写入hdfs中。每秒数据量量为10000/s条,每条数据10kB左右。
以做尝试:
1.使用logstash直接消费kafka中的数据,在output中写入hdfs中。结果:处理效率500/s。
2.使用logstash将数据写入本地磁盘,每个小时使用hadoop fs -put语句定时上传。每小时大概400G数据,勉强可以处理完,但后续若数据量继续变大,必然出现数据积压。
考虑将数据压缩后上传:
1.每小时上传数据前将数据压缩,测试lz4压缩效率为3g/min,gzip压缩效率为1g/min。明显压缩所花的时间足以上传所有数据了。
2.使用logstash在输出数据时使用流式压缩为gzip格式,logstash处理数据能力大幅降低为1000/s条。
请问各位大佬指点一下其他处理大数据量从kafka到hdfs的思路,不限以上提到的组件。本人大数据新手,感谢你的回答。