有没有办法将storm和cassandra打包成一个可执行jar,这样作为运行jar的一部分,将部署单个节点风暴和cassandra并为该程序提供服务。
感谢。
答案 0 :(得分:2)
我认为你对Storm架构的运作方式感到有些困惑,除非你真的打算在本地模式下运行Storm,在这种情况下,如果你有一个Cassandra集群,我不知道你为什么这么做呢?本地模式仅用于测试,并且许多情况的性能将比实际的集群更差。通过编写多线程代码,您可以在本地获得更好的性能,而无需提取所有Storm功能,这些功能实际上旨在帮助在可能不可靠的群集上进行强大的流处理。
对我来说,听起来你可能真正要做的就是让每个Cassandra节点也成为运行一个(或多个)工作人员的Storm监督者节点。你还需要有一个Nimbus服务器和一个Zookeeper集群来完成所有工作。
鉴于这一切,我认为理论上可以将它全部放在一个罐子里,但这似乎比它的价值更麻烦。 Cassandra节点和Storm监控器已经很容易设置,并且它们没有理由不能在同一台服务器上运行,所以我建议不要这样做。
此外,我不清楚您的用例,但很难想象您实际上想要这样做的情况。我想到的唯一事情是:(a)你的Cassandra工作负载非常大,没有在节点上发生真正的计算,或者(b)你有过度配置的物理硬件,你正在寻求减少容量。否则我认为你几乎肯定会为Storm和Cassandra使用单独的机器。