Storm topology configuration

后端 未结 7 2086
南方客
南方客 2021-02-05 10:29

How do you provide a custom configuration to a storm topology? For example, if I have a topology that I built that connects to a MySQL cluster and I want to be able to change w

7条回答
  •  情深已故
    2021-02-05 11:13

    I face the same problem as u did, and here is my tricky solution:

    Use a simple java file as the configure file, say topo_config.java, it looks like:

    package com.xxx
    public class topo_config {
        public static String zk_host = "192.168.10.60:2181";
        public static String kafka_topic = "my_log_topic";
        public static int worker_num = 2;
        public static int log_spout_num = 4;
        // ...
    }
    

    This file is put in my configure folder, and then write a script, say compile.sh which will copy it to the right package and do the compilation stuff, looks like:

    cp config/topo_config.java src/main/java/com/xxx/
    mvn package
    

    The configuration is achieved directly:

    Config conf = new Config();
    conf.setNumWorkers(topo_config.worker_num);
    

提交回复
热议问题