Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 风暴群未在生产模式下工作_Sockets_Proxy_Apache Storm - Fatal编程技术网

Sockets 风暴群未在生产模式下工作

Sockets 风暴群未在生产模式下工作,sockets,proxy,apache-storm,Sockets,Proxy,Apache Storm,我有一个storm拓扑,它包含两个节点。一个是光环,另一个是主管 不属于storm的代理接受来自客户端的HTTP请求并将其传递给storm拓扑 拓扑结构如下所示: 1.代理将数据传递到风暴喷口。 2.喷口将数据传递给多个螺栓。 3.最后一个螺栓将结果传回代理 我正在运行代理并将数据传递给storm。我能够在拓扑端将套接字连接到侦听器。喷口发出的数据在UI中显示为0。相同的拓扑在本地模式下工作良好 我以为是主管的问题,但主管似乎运行正常,因为我能看到主管的描述和个别的喷口和螺栓。但它们都没有发出任

我有一个storm拓扑,它包含两个节点。一个是光环,另一个是主管

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

拓扑结构如下所示: 1.代理将数据传递到风暴喷口。 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,但它没有连接。但是,这样做了。 现在,代理在特定端口上等待输出


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

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

考虑暂时关闭storm,并在supervisor计算机上使用
nc-l 4321
,以断言您的代理正在按预期工作

但是…

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

如果你想融合这两个世界的推拉;然后考虑使用卡夫卡喷口。