当前位置: 首页 > 知识库问答 >
问题:

Storm群不在生产模式下工作

冯鸿光
2023-03-14

我有一个storm拓扑,分为两个节点。一个是光环,另一个是主管。

不属于storm的代理接受来自客户端的HTTP请求,并将其传递给storm拓扑。

拓扑是这样的:1.代理将数据传递给一个Storm喷口2.喷口将数据传递给多个螺栓3.结果由最后一个螺栓传回代理。

我正在运行代理并将数据传递给storm。我能够在拓扑端将套接字连接到侦听器。喷口发出的数据在UI中显示为0。同样的拓扑在本地模式下也可以正常工作。

我认为这是主管的问题,但主管似乎运行良好,因为我能够看到主管的描述以及各个喷嘴和螺栓。但它们都没有发出任何东西。

现在,我很困惑,如果问题是数据被传递到错误的机器还是什么。为了与喷口通信,我从代理创建套接字如下:

            InetAddress stormInetAddr=InetAddress.getByName("198.18.17.16");
            int stormPort=4321;                 
            Socket stormSocket=new Socket(stormInetAddr,stormPort);

这里198.18.17.16是nimbus IP。4321是需要数据的端口。

我尝试在这里给主管IP,但它没有连接。然而,这是真的。现在,代理在特定端口上等待输出。

另一方面,经过处理后,从螺栓读取数据。而且集群似乎没有任何活动。但是,我收到的回复与我发送的请求基本相同,其中包含一些混乱的数据。这个响应应该通过最后一个螺栓发送到我定义的特定端口。我得到了数据,但集群没有显示任何活动。我知道这很模糊,但是,有人知道发生了什么吗?

共有1个答案

闻人飞翼
2023-03-14

听起来Storm工作正常,但您的代理/网络设置不正常。如果是storm错误,您应该在Nimbus UI和/或storm supervisor日志中看到异常。

考虑暂时关闭storm,并在supervisor机器上使用nc-l 4321,以确认您的代理正在按预期工作。

然而

你的模型可能有一个根本性的缺陷。Storm的喷口是基于拉的,所以将传入的请求推送到它们似乎很奇怪。当然,这是可能的,如果你让你的嘴在旋转时开始倾听,然后简单地排队等待请求。然而,这给您的模型带来了另一个挑战:您可能在一台机器上运行多个喷嘴,它们不能共享同一端口(4321)。

如果你想把这两个世界融合在一起

 类似资料:
  • 我在本地模式和集群模式下都使用apache storm 1.1.0。对于喷口,我正在阅读Kafka主题中的数据(我使用的是Kafka2.11-0.8.2.1)。当我在本地模式下使用storm时,Spout会读取kafka主题中的数据,并且也会发出数据,但当我在集群模式下运行storm时,Spout不会发出任何数据。 知道为什么topology spout在集群模式下不发射任何数据吗?如有任何帮助,

  • 最近,我在使用logback.xml作为日志记录时,在独立集群模式下的Flink日志记录中遇到了一个问题。我的要求是,我的所有作业都应该登录到特定的文件夹中,我的flink框架日志应该放在单独的文件夹中,而且对于在我的flink集群中运行的每个作业,应该有单独的文件夹用于不同的作业。我在我的本地集群中测试了它,它运行良好,我得到了所有的日志,与我提交的Flink作业相关的单独文件夹,但一旦我在独立

  • 我已经开发了一个应用程序在android与应用内购买功能。 我遵循本教程来实现应用内购买[android中的应用内purcahses]

  • 我尝试将spark应用程序驱动程序/执行程序日志发送到kafka topic。它在Eclipse中工作 在部署群集模式时,它会显示 ClassNotFoundException。 我添加了,,,,和maven,但它仍然显示 组织。阿普切。Kafka。log4jappender类NotFoundException。 在服务器中,运行jar自身的spark程序中并没有与Kafka相关的jar。 请告诉

  • 当spark作业中有需要的jar文件时,需要通过2种方式将其添加到spark作业中: 1。命令中的选项。 2。。 有人能告诉我这两种方式之间的区别吗? 从这个问题来看,答案是它们是相同的,只是优先级不同,但我认为这不是真的。如果我在yarn集群模式下提交spark作业,那么根据官方站点,如果命令中的选项中没有包含jar文件,那么addJar()将不起作用。 如果您将sparkcontext.add

  • 但是当我启动服务器时,这个url不起作用: 出现错误警报: 有什么想法吗? 谢谢你,泰金。