Apache Storm无法从种子主机中找到领导Nimbus。

3

我已经使用Docker Compose安装了Apache Storm。

Docker-Compose.yml文件内容如下:

kafka:
    image: spotify/kafka
    ports:
      - "9092:9092"
      - "2181:2181"
    environment:
      ADVERTISED_HOST: 172.16.8.37
      ADVERTISED_PORT: 9092

nimbus:
  command: --daemon nimbus drpc
  image: fhuz/docker-storm
  ports:
    - 3773:3773
    - 3772:3772
    - 6627:6627
  links:
    - kafka:zk

supervisor:
  command: --daemon supervisor logviewer
  image: fhuz/docker-storm
  ports:
    - 8000:8000
    - 6700:6700
    - 6701:6701
    - 6702:6702
    - 6703:6703
  links:
    - kafka:zk
ui:
  command: --daemon ui
  image: fhuz/docker-storm
  ports:
    - 8080:8080
  links:
    - kafka:zk

elasticsearch:
  image: elasticsearch:2.4.1
  ports:
    - 9300:9300
    - 9200:9200

我一直在运行,没有出现问题,但是当我访问Storm-UI: XXXX.XX.XX.XX:8080时,出现了Storm UI错误。我尝试了一些StackOverflow上其他用户提供的答案和解决方案,但仍然失败。

Internal Server Error:
org.apache.storm.utils.NimbusLeaderNotFoundException: Could not find leader nimbus from seed hosts ["127.0.0.1"]. Did you specify a valid list of nimbus hosts for config nimbus.seeds?
    at org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:90)
    at org.apache.storm.ui.core$nimbus_summary.invoke(core.clj:388)
    at org.apache.storm.ui.core$fn__12489.invoke(core.clj:937)
    at org.apache.storm.shade.compojure.core$make_route$fn__4604.invoke(core.clj:93)
    at org.apache.storm.shade.compojure.core$if_route$fn__4592.invoke(core.clj:39)
    at org.apache.storm.shade.compojure.core$if_method$fn__4585.invoke(core.clj:24)
    at org.apache.storm.shade.compojure.core$routing$fn__4610.invoke(core.clj:106)
    at clojure.core$some.invoke(core.clj:2570)
    at org.apache.storm.shade.compojure.core$routing.doInvoke(core.clj:106)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invoke(core.clj:632)
    at org.apache.storm.shade.compojure.core$routes$fn__4614.invoke(core.clj:111)
    at org.apache.storm.shade.ring.middleware.json$wrap_json_params$fn__11958.invoke(json.clj:56)
    at org.apache.storm.shade.ring.middleware.multipart_params$wrap_multipart_params$fn__5680.invoke(multipart_params.clj:103)
    at org.apache.storm.shade.ring.middleware.reload$wrap_reload$fn__11140.invoke(reload.clj:22)
    at org.apache.storm.ui.helpers$requests_middleware$fn__5907.invoke(helpers.clj:46)
    at org.apache.storm.ui.core$catch_errors$fn__12679.invoke(core.clj:1224)
    at org.apache.storm.shade.ring.middleware.keyword_params$wrap_keyword_params$fn__5611.invoke(keyword_params.clj:27)
    at org.apache.storm.shade.ring.middleware.nested_params$wrap_nested_params$fn__5651.invoke(nested_params.clj:65)
    at org.apache.storm.shade.ring.middleware.params$wrap_params$fn__5582.invoke(params.clj:55)
    at org.apache.storm.shade.ring.middleware.multipart_params$wrap_multipart_params$fn__5680.invoke(multipart_params.clj:103)
    at org.apache.storm.shade.ring.middleware.flash$wrap_flash$fn__5866.invoke(flash.clj:14)
    at org.apache.storm.shade.ring.middleware.session$wrap_session$fn__5854.invoke(session.clj:43)
    at org.apache.storm.shade.ring.middleware.cookies$wrap_cookies$fn__5782.invoke(cookies.clj:160)
    at org.apache.storm.shade.ring.util.servlet$make_service_method$fn__5488.invoke(servlet.clj:127)
    at org.apache.storm.shade.ring.util.servlet$servlet$fn__5492.invoke(servlet.clj:136)
    at org.apache.storm.shade.ring.util.servlet.proxy$javax.servlet.http.HttpServlet$ff19274a.service(Unknown Source)
    at org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:654)
    at org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
    at org.apache.storm.logging.filters.AccessLoggingFilter.handle(AccessLoggingFilter.java:47)
    at org.apache.storm.logging.filters.AccessLoggingFilter.doFilter(AccessLoggingFilter.java:39)
    at org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
    at org.apache.storm.shade.org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)
    at org.apache.storm.shade.org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)
    at org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
    at org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
    at org.apache.storm.shade.org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
    at org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
    at org.apache.storm.shade.org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
    at org.apache.storm.shade.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.apache.storm.shade.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.apache.storm.shade.org.eclipse.jetty.server.Server.handle(Server.java:369)
    at org.apache.storm.shade.org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
    at org.apache.storm.shade.org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
    at org.apache.storm.shade.org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
    at org.apache.storm.shade.org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    at org.apache.storm.shade.org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at org.apache.storm.shade.org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.apache.storm.shade.org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at org.apache.storm.shade.org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at org.apache.storm.shade.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.apache.storm.shade.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:745)
2个回答

3

你的Supervisor和Nimbus运行在不同的机器上。默认情况下,Storm使用该参数查找Nimbus:localhost

nimbus.seeds : ["localhost"]

这是您会遇到的错误,它找不到本地计算机上的Nimbus。 您需要在Supervisor下添加该字段,并提供运行Nimbus进程的计算机的IP地址。


这样做很好,但我必须更改链接,不使用kafka zookeeper,而是使用一个zookeeper容器:Links: -zookeeper:zk。 - Asier Gomez
然后添加这个:(使用external_links部分)链接:
  • nimbus:nimbus 外部链接:
  • storm_zookeeper_1:zk
从图像的创建者那里获取: https://github.com/fhussonnois/docker-storm/blob/master/docker-storm.yml祝好运
- ohad edelstain

2

在运行Storm之前,请确保您已经启动了Zookeeper服务器和客户端:

$ bin/zkServer.sh start
$ bin/zkCli.sh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接