我目前处于学习apache heron的阶段。通过使用官方文档,我可以控制拓扑 https://heron.incubator.apache.org/docs/0.20.0-incubating/getting-started-local-single-node
但是如果服务停止了或者服务器重启了,之前的topology就不会停止,会显示又一直在运行,但是我失去了控制。
使用激活的时候会提示已经在运行,但是不能停止和杀死操作。
这时候新的拓扑可以控制,旧的不行。官方没有提供这个问题的解决方案,我暂时也没有找到。
syam@AL:~/.heron/bin$ ./heron kill local WindowedWordCountTopology
[2021-09-01 11:07:28 +0800] [INFO]: Using cluster definition in /home/syam/.heron/conf/local
[2021-09-01 11:07:28 +0800] [严重] org.apache.heron.spi.utils.NetworkUtils: Failed to send request:
java.net.ConnectException: 拒绝连接 (Connection refused)
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
at java.base/java.net.Socket.connect(Socket.java:609)
at java.base/java.net.Socket.connect(Socket.java:558)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1367)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1342)
at org.apache.heron.spi.utils.NetworkUtils.sendHttpPostRequest(NetworkUtils.java:258)
at org.apache.heron.scheduler.client.HttpServiceSchedulerClient.requestSchedulerService(HttpServiceSchedulerClient.java:85)
at org.apache.heron.scheduler.client.HttpServiceSchedulerClient.killTopology(HttpServiceSchedulerClient.java:60)
at org.apache.heron.scheduler.RuntimeManagerRunner.killTopologyHandler(RuntimeManagerRunner.java:173)
at org.apache.heron.scheduler.RuntimeManagerRunner.call(RuntimeManagerRunner.java:98)
at org.apache.heron.scheduler.RuntimeManagerMain.callRuntimeManagerRunner(RuntimeManagerMain.java:498)
at org.apache.heron.scheduler.RuntimeManagerMain.manageTopology(RuntimeManagerMain.java:411)
at org.apache.heron.scheduler.RuntimeManagerMain.main(RuntimeManagerMain.java:333)
[2021-09-01 11:07:28 +0800] [严重] org.apache.heron.scheduler.client.HttpServiceSchedulerClient: Failed to send http request to scheduler
[2021-09-01 11:07:28 +0800] [ERROR]: Failed to kill topology 'WindowedWordCountTopology' with scheduler, please re-try the kill command later
[2021-09-01 11:07:28 +0800] [ERROR]: Failed to kill topology: WindowedWordCountTopology