storm提交拓撲,引用外部配置文件

功能說明

解決問題:storm提交jar包到storm集羣,將配置文件與jar包拓撲進行分離,單獨配置

實現代碼

入口代碼,通過config配置傳遞自定義配置信息

public static  void main(String[] args) {
   Setting setting = ew Setting(args[0]); //args[0] 文件路徑 Setting讀取配置文件方法

	final TopologyBuilder builder = new TopologyBuilder();
	
	Config conf = new Config();
	conf.put("test_key", setting.get("test_key")); //此處爲自定義配置
	
	StormSubmitter.submitTopology("test", conf, builder.createTopology());
}	

bolt獲取自定義參數

@Override
  public void prepare(Map stormConf, TopologyContext context) {
      context.getConf().get("test_key");
   }

拓撲提交

storm jar xxxx.jar main函數拓撲入口 配置文件路徑

storm jar test.jar com.test.topology.TestTopology /data/test/config-common.properties

config-common.properties

test_key:1234456

至此完成,自定義配置文件在jar外面,動態提交到storm集羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章