使用高吞吐量在HDFS上流式传输数据

时间:2016-06-21 13:19:02

标签: hadoop hdfs spark-streaming read-write throughput

我有来自大量传感器(> 500)的数据流,我需要在我的HDFS上写入这些数据。传感器几乎每1秒发送一次数据,每个推送数据的大小约为300B。问题是我已经经历过,每当我开始使用追加模式推动HDFS上的大量内容时,它就会开始引发许多异常并被卡住。我需要找到一种方法来处理每秒大量的文字,比如采用存储数据的中间层,然后慢慢将它们推入HDFS。我不知道是否有任何DB可以为此工作,如果是,哪个是最好的?

更新:我环顾四周,很难理解不同解决方案的极限和潜力。

  • 显然,Kafka等技术可以处理“数千个客户端每秒数百兆字节的读写”。
  • 还有其他技术,其中一些是基于Kafka本身构建的Confluent,但是它如何改进写作对我来说还不清楚。
  • 然后,还有其他框架,名为“Logging Layers”(或多或少),提供这种管理写作的中间层。大多数广告宣传的产品为FluentdLogstash
  • 最后,Spark作为流媒体组件Spark Streaming,它应该以某种方式管理大量数据的流式传输。

现在,我的问题是,是否有人必须处理类似的问题,这对我的案件来说可能是一个很好的解决方案。

1 个答案:

答案 0 :(得分:0)

我无法帮助你解决HDFS吞吐量问题,但是既然你提到了一个中间层,我会列出一些常用的数据存储和Spark一起提供高写入(我想你也试图使用Spark) ?)。我怀疑大多数或所有人都能写回HDFS。

什么是“最好的”是一个意见问题,在StackOverflow上通常不赞成。但是,通过一些挖掘,你可以找到基准,什么不是。