需要建议,将消息从jms队列保存到hadoop hbase是一个好的解决方案吗?

mbyulnm0  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(266)

我是hadoop领域的新手,我的任务是研究将当前jms队列中的数据摄取到hadoop集群中的解决方案。
到目前为止,在我寻求成为一个数据摄取Maven。。。我已经在网上浏览了几周的书籍和教程了。我已经成功地编写了一个简单的java服务,它侦听我们的一个队列,并将传入的消息写入hbase htable。
在完成这个概念验证之后,我有几个问题想问社区/hadoop/hbase/数据摄取Maven。在我问之前,让我描述一下我的场景/范围。
我们每天从jms队列接收大约30000条消息
这些消息是json对象,每个对象的范围从1 mb到20 mb不等
需要接近实时
我们希望不断地将这些消息保存到hadoop中,以供将来的分析和历史参考
我们不需要解析传入的消息,只需要存储它们(当前的思路是编写另一个服务,它将解析这些消息,并在以后将它们保存到适当的模式中。原因=消息接收期间没有瓶颈)
使用我的“概念验证”java服务,它可以工作,但是我不知道这个解决方案是否最适合我的案例场景,特别是在生产环境中。
对于我的案例场景,这是一个好的方法/解决方案吗?
如果不是的话,还有什么技术能很好地满足我的需求呢?
使用hbase是为了这个过度杀戮吗?
在单个单元中节省20 mb是个好主意?尤其是如果我们计划在不清除的情况下连续地将消息追加到此表中?
感谢您的意见,谢谢!

9bfwbjaz

9bfwbjaz1#

对于我的案例场景,这是一个好的方法/解决方案吗?如果不是的话,还有什么技术能很好地满足我的需求呢?
Flume可以是另一种选择。它提供jms源和hbase/hive接收器。
使用hbase是为了这个过度杀戮吗?
可能不是,如果在一段时间内,根据您每天的输入,邮件的数量会大量增加。如果您计划将消息再次解析到另一个存储区,那么在hbase中存储消息的目的是什么。
根据您的需要,另一个服务(例如mapreduce)可以使用jms消息,对其进行处理并输出到您想要的最终目的地,而不是hbase。除非您需要长期存储原始邮件。

相关问题