在机器X上使用Storm命令部署了Storm拓扑。工作节点在机器Y上运行。
一旦部署了拓扑,就可以处理元组,工作人员正在处理请求和响应。
有人可以建议工作者节点如何识别工作和数据,因为我不确定工作节点如何访问开发人员根本没有部署的代码? 如果工作节点可以访问拓扑的代码,请问您的位置在哪里,并建议执行Worker节点?
答案 0 :(得分:0)
一,你问一个相当复杂的问题。我已经使用Storm一段时间了,并且对内部的工作原理并不了解。 Here是一篇很好的文章,谈论风暴的内部。它已经超过两年了,但仍然具有高度相关性。我相信Netty现在被用作内部消息传输,它在文章中被提到是实验性的。
就在工作节点上运行的代码而言,storm.yaml中有一个配置,
storm.local.dir
上传拓扑时,我相信它会将jar复制到该位置。因此,每个不同的工作机器都将在其中配置必要的jar storm.local.dir
。因此,即使您只上传了一台机器,Storm也会将其分发给必要的工作人员。 (这是来自记忆的,而我现在还不在现场测试它。)