經過 IDE 向 Storm 集羣遠程提交 topology

轉載:html

http://weyo.me/pages/techs/storm-topology-remote-submission/java

http://www.javaworld.com/article/2078672/big-data/open-source-tools-open-source-java-projects-storm.html?page=2apache

 

做爲一個懶癌晚期患者,雖然 Storm 只須要一條命令的任務提交方式已經夠簡單了,但仍是一直想要有種更簡(tou)單(lan)的方式,好比要是在 Windows 下寫完代碼以後能夠直接提交任務而不須要手動把 jar 包拷到服務器上再提交那定是極好的了。谷歌了一下終於在牆外找到了解決方法: Submitting a topology to Remote Storm Clusterjson

Storm 集羣配置

  • nimbus: "hd124"
  • nimbus.port: 6627

提交 Topology

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
Config conf = new Config(); conf.setNumWorkers(2); conf.setDebug(true); // ... // topology 其餘配置信息等 // 讀取本地 Storm 配置文件 Map stormConf = Utils.readStormConfig(); stormConf.put("nimbus.host", "hd124"); stormConf.putAll(conf); Nimbus.Client client = NimbusClient.getConfiguredClient(stormConf).getClient(); String inputJar = "E:\\workspace\\storm-demo\\target\\storm-demo-0.0.5-SNAPSHOT-shade.jar"; NimbusClient nimbus = new NimbusClient(stormConf, "hd124", 6627); // 使用 StormSubmitter 提交 jar 包 String uploadedJarLocation = StormSubmitter.submitJar(stormConf, inputJar); String jsonConf = JSONValue.toJSONString(stormConf); nimbus.getClient().submitTopology("remotetopology", uploadedJarLocation, jsonConf, builder.createTopology()); 

說明

  1. 第8行會讀取 Storm 的本地配置文件,若是不指定的話,Utils.readStormConfig() 會讀取 Storm 依賴 jar 包的默認配置文件,如 "\maven\repository\org\apache\storm\storm-core\0.9.3\storm-core-0.9.3.jar\defaults.yaml",若是集羣配置與默認配置有較大不一樣,還須要修改對應配置信息。服務器

  2. 這段代碼須要在 Topology 已經完成打包以後運行,由於須要在程序中指定待提交的 jar 包。能夠在 IDE 中安裝 Maven 插件,Topology 開發完成以後直接打包,而後再切換到這段提交代碼中執行提交任務。app

  3. 任務提交完成以後能夠在 Storm UI 中查看提交結果。maven


Reference

  1. http://stackoverflow.com/questions/15781176/how-to-submit-a-topology-in-storm-production-cluster-using-ide
  2. http://nishutayaltech.blogspot.in/2014/06/submitting-topology-to-remote-storm.html

再來一個:ide

http://xumingming.sinaapp.com/117/twitter-storm%E7%9A%84%E4%B8%80%E4%BA%9B%E5%85%B3%E9%94%AE%E6%A6%82%E5%BF%B5/ui

http://xumingming.sinaapp.com/189/twitter-storm-storm%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B8%B8%E8%A7%81%E6%A8%A1%E5%BC%8F/spa

相關文章
相關標籤/搜索