2016-04-15 73 views
5

我有一個在本地羣集上運行良好的拓撲。 但是,當我嘗試將生產集羣上運行它以下的事情發生了:使用Apache Storm 1.0.0在生產羣集中運行拓撲時出錯,拓撲無法啓動

  1. 靈氣高達
  2. 風暴UI高達
  3. 兩名工人我用的都是最高
  4. Zookeper高達
  5. 我跑風暴

    風暴罐子myjar.jar MyClass的

  6. 雨雲提交拓撲

  7. 的拓撲結構和工人出現在風暴UI

但是:

拓撲並不儘管其狀態爲ACTIVE啓動

拓撲的日誌文件沒有出現我工人們。

我有以下日誌中工人的supervisor.log

2016-04-15 13:18:19.831 o.a.s.d.supervisor [WARN] There was a connection problem with nimbus. #error { 
:cause jobs-rec-storm-nimbus 
:via 
[{:type java.lang.RuntimeException 
    :message org.apache.storm.thrift.transport.TTransportException: java.net.UnknownHostException: jobs-rec-storm-nimbus 
    :at [org.apache.storm.security.auth.TBackoffConnect retryNext TBackoffConnect.java 64]} 
    {:type org.apache.storm.thrift.transport.TTransportException 
    :message java.net.UnknownHostException: jobs-rec-storm-nimbus 
    :at [org.apache.storm.thrift.transport.TSocket open TSocket.java 226]} 
    {:type java.net.UnknownHostException 
    :message jobs-rec-storm-nimbus 
    :at [java.net.AbstractPlainSocketImpl connect AbstractPlainSocketImpl.java 184]}] 
:trace 
[[java.net.AbstractPlainSocketImpl connect AbstractPlainSocketImpl.java 184] 
    [java.net.SocksSocketImpl connect SocksSocketImpl.java 392] 
    [java.net.Socket connect Socket.java 589] 
    [org.apache.storm.thrift.transport.TSocket open TSocket.java 221] 
    [org.apache.storm.thrift.transport.TFramedTransport open TFramedTransport.java 81] 
    [org.apache.storm.security.auth.SimpleTransportPlugin connect SimpleTransportPlugin.java 103] 
    [org.apache.storm.security.auth.TBackoffConnect doConnectWithRetry TBackoffConnect.java 53] 
    [org.apache.storm.security.auth.ThriftClient reconnect ThriftClient.java 99] 
    [org.apache.storm.security.auth.ThriftClient <init> ThriftClient.java 69] 
    [org.apache.storm.utils.NimbusClient <init> NimbusClient.java 106] 
    [org.apache.storm.utils.NimbusClient getConfiguredClientAs NimbusClient.java 78] 
    [org.apache.storm.utils.NimbusClient getConfiguredClient NimbusClient.java 41] 
    [org.apache.storm.blobstore.NimbusBlobStore prepare NimbusBlobStore.java 268] 
    [org.apache.storm.utils.Utils getClientBlobStoreForSupervisor Utils.java 462] 
    [org.apache.storm.daemon.supervisor$fn__9590 invoke supervisor.clj 942] 
    [clojure.lang.MultiFn invoke MultiFn.java 243] 
    [org.apache.storm.daemon.supervisor$mk_synchronize_supervisor$this__9351$fn__9369 invoke supervisor.clj 582] 
    [org.apache.storm.daemon.supervisor$mk_synchronize_supervisor$this__9351 invoke supervisor.clj 581] 
    [org.apache.storm.event$event_manager$fn__8903 invoke event.clj 40] 
    [clojure.lang.AFn run AFn.java 22] 
    [java.lang.Thread run Thread.java 745]]} 
2016-04-15 13:18:19.831 o.a.s.d.supervisor [INFO] Finished downloading code for storm id jobs-KafkaMigration-topology-3-1460740616 
2016-04-15 13:18:19.850 o.a.s.d.supervisor [INFO] Missing topology storm code, so can't launch worker with assignment ...(some more numbers) 

所以我asume,我有靈氣的連接問題,但性質的工人文件是:

storm.zookeeper.servers: 
    - "192.168.22.209" 
    - "192.168.22.216" 
    - "192.168.22.217" 

storm.local.dir: "/app/home/storm" 


storm.zookeeper.root: "/storm-prod" 

# 
nimbus.seeds: ["192.168.120.96"] 

而且,如果我做一個ping到從工人靈氣IP,它返回OK

錯誤在哪裏,我該如何解決?

謝謝!

回答

2

我遇到了類似的問題。原來我的防火牆規則阻止了管理員端口。確保主管和靈氣能夠相互交談。

+0

Hi @ shashank謝謝你的迴應!我不知道爲什麼,但是當我插入dns映射到de ips時,拓撲開始了。當你只使用ips時會發生奇怪的事情。 –

6

請告訴我出現在這一背景下發生的是,風暴主管從無論是在storm.yaml種子/主機配置第一時間,從那時起使用靈氣主機名下載拓撲文物解決靈氣。

如果這是正確的,則DNS對於羣集設置是必需的。這非常不理想,特別是在像kubernetes這樣的協調環境中使用容器時。

我使用當前的解決辦法是增加

storm.local.hostname: "<local.ip.value>" 

風暴。YAML

感謝@bastien誰提供的暴風用戶郵件列表上的尖端

+0

報告的行爲與v1.0.0。沒有注意到,用v0.10.0。 – Alberto

+0

嗨Alberto.Csm,我認爲你是正確的,我使用0.10.0和更新到1.0.0,但我不能確認它,因爲我沒有試圖回滾(現在我的系統正在生產中) –

+0

v1.0.1有同樣的問題,在添加配置後工作。 – smartwjw

0

我發現,我需要有盒子的主機名匹配什麼我在/ etc美其名曰/ hosts文件

在主機文件,我不得不

xxx.xxx.xxx.xxx靈氣

,但包裝盒上的主機名是不同的,它是從OS拉動主機名

在nimbus服務器的操作系統上更改主機名解決了我的問題。