Java Code Examples for org.apache.storm.Config#setDebug()
The following examples show how to use
org.apache.storm.Config#setDebug() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DrpcTestTopologyCsharp.java From storm-net-adapter with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); DRPCSpout drpcSpout = new DRPCSpout("simpledrpc"); builder.setSpout("drpc-input", drpcSpout,1); builder.setBolt("simple", new SimpleDRPC(), 2) .noneGrouping("drpc-input"); builder.setBolt("return", new ReturnResults(),1) .noneGrouping("simple"); Config conf = new Config(); conf.setDebug(true); conf.setMaxTaskParallelism(1); try { StormSubmitter.submitTopology("drpc-q", conf,builder.createTopology()); } catch (Exception e) { e.printStackTrace(); } }
Example 2
Source File: AckingTopology.java From incubator-heron with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws Exception { if (args.length != 1) { throw new RuntimeException("Specify topology name"); } TopologyBuilder builder = new TopologyBuilder(); int spouts = 2; int bolts = 2; builder.setSpout("word", new AckingTestWordSpout(), spouts); builder.setBolt("exclaim1", new ExclamationBolt(), bolts) .shuffleGrouping("word"); Config conf = new Config(); conf.setDebug(true); // Put an arbitrary large number here if you don't want to slow the topology down conf.setMaxSpoutPending(1000 * 1000 * 1000); // To enable acking, we need to setEnableAcking true conf.setNumAckers(1); conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError"); // Set the number of workers or stream managers conf.setNumWorkers(2); StormSubmitter.submitTopology(args[0], conf, builder.createTopology()); }
Example 3
Source File: ScottyDemoTopology.java From scotty-window-processor with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws Exception { LocalCluster cluster = new LocalCluster(); TopologyBuilder builder = new TopologyBuilder(); Config conf = new Config(); conf.setDebug(false); conf.setNumWorkers(1); conf.setMaxTaskParallelism(1); //Disable Acking conf.setNumAckers(0); KeyedScottyWindowOperator scottyBolt = new KeyedScottyWindowOperator<Integer, Integer>(new Sum(), 0); scottyBolt.addWindow(new TumblingWindow(WindowMeasure.Time, 1000)); scottyBolt.addWindow(new SlidingWindow(WindowMeasure.Time, 1000, 250)); scottyBolt.addWindow(new SessionWindow(WindowMeasure.Time, 1000)); builder.setSpout("spout", new DataGeneratorSpout()); builder.setBolt("scottyWindow", scottyBolt).fieldsGrouping("spout", new Fields("key")); builder.setBolt("printer", new PrinterBolt()).shuffleGrouping("scottyWindow"); cluster.submitTopology("testTopology", conf, builder.createTopology()); //cluster.killTopology("testTopology"); //cluster.shutdown(); }
Example 4
Source File: StatefulWindowingTopology.java From storm-net-adapter with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout", new RandomIntegerSpout()); builder.setBolt("sumbolt", new WindowSumBolt().withWindow(new Count(5), new Count(3)) .withMessageIdField("msgid"), 1).shuffleGrouping("spout"); builder.setBolt("printer", new PrinterBolt(), 1).shuffleGrouping("sumbolt"); Config conf = new Config(); conf.setDebug(false); //conf.put(Config.TOPOLOGY_STATE_PROVIDER, "org.apache.storm.redis.state.RedisKeyValueStateProvider"); String topoName = "test"; if (args != null && args.length > 0) { topoName = args[0]; } conf.setNumWorkers(1); StormSubmitter.submitTopologyWithProgressBar(topoName, conf, builder.createTopology()); }
Example 5
Source File: FullPullerTopology.java From DBus with Apache License 2.0 | 6 votes |
private void start(StormTopology topology, boolean runAsLocal) throws Exception { Config conf = new Config(); conf.put(FullPullConstants.FULL_SPLITTER_TOPOLOGY_ID, fullSplitterTopologyId); conf.put(FullPullConstants.FULL_PULLER_TOPOLOGY_ID, fullPullerTopologyId); conf.put(FullPullConstants.DS_NAME, topologyId); conf.put(FullPullConstants.ZKCONNECT, zkConnect); conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, commonConfSplit.getProperty(FullPullConstants.TOPOLOGY_WORKER_CHILDOPTS)); //设置message超时时间为,保证每个分片都能在该内拉完数据 conf.setMessageTimeoutSecs(Integer.parseInt(commonConfSplit.getProperty(FullPullConstants.STORM_MESSAGE_TIMEOUT))); conf.setMaxSpoutPending(Integer.parseInt(commonConfSplit.getProperty(FullPullConstants.STORM_MAX_SPOUT_PENDING))); conf.setNumWorkers(Integer.parseInt(commonConfSplit.getProperty(FullPullConstants.STORM_NUM_WORKERS))); conf.setDebug(true); if (runAsLocal) { conf.setMaxTaskParallelism(3); LocalCluster cluster = new LocalCluster(); cluster.submitTopology(topologyName, conf, topology); } else { StormSubmitter.submitTopology(topologyName, conf, topology); } }
Example 6
Source File: TopologyRunner.java From tutorials with MIT License | 6 votes |
public static void runTopology() { String filePath = "./src/main/resources/operations.txt"; TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("randomNumberSpout", new RandomNumberSpout()); builder.setBolt("filteringBolt", new FilteringBolt()).shuffleGrouping("randomNumberSpout"); builder.setBolt("aggregatingBolt", new AggregatingBolt() .withTimestampField("timestamp") .withLag(BaseWindowedBolt.Duration.seconds(1)) .withWindow(BaseWindowedBolt.Duration.seconds(5))).shuffleGrouping("filteringBolt"); builder.setBolt("fileBolt", new FileWritingBolt(filePath)).shuffleGrouping("aggregatingBolt"); Config config = new Config(); config.setDebug(false); LocalCluster cluster = new LocalCluster(); cluster.submitTopology("Test", config, builder.createTopology()); }
Example 7
Source File: SlidingTupleTsTopology.java From storm-net-adapter with Apache License 2.0 | 6 votes |
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); BaseWindowedBolt bolt = new SlidingWindowSumBolt() .withWindow(new Duration(5, TimeUnit.SECONDS), new Duration(3, TimeUnit.SECONDS)) .withTimestampField("ts") .withLag(new Duration(5, TimeUnit.SECONDS)); builder.setSpout("integer", new RandomIntegerSpout(), 1); builder.setBolt("slidingsum", bolt, 1).shuffleGrouping("integer"); builder.setBolt("printer", new PrinterBolt(), 1).shuffleGrouping("slidingsum"); Config conf = new Config(); conf.setDebug(true); String topoName = "test"; if (args != null && args.length > 0) { topoName = args[0]; } conf.setNumWorkers(1); StormSubmitter.submitTopologyWithProgressBar(topoName, conf, builder.createTopology()); }
Example 8
Source File: SinkTopology.java From DBus with Apache License 2.0 | 6 votes |
private void start(StormTopology topology, boolean runAsLocal) throws Exception { Config conf = new Config(); conf.put(Constants.ZOOKEEPER_SERVERS, zkConnect); conf.put(Constants.TOPOLOGY_ID, topologyId); conf.put(Constants.SINK_TYPE, sinkType); conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, sinkerConf.getProperty(SinkerConstants.TOPOLOGY_WORKER_CHILDOPTS)); conf.setMessageTimeoutSecs(Integer.parseInt(sinkerConf.getProperty(SinkerConstants.STORM_MESSAGE_TIMEOUT))); conf.setMaxSpoutPending(Integer.parseInt(sinkerConf.getProperty(SinkerConstants.STORM_MAX_SPOUT_PENDING))); conf.setDebug(true); conf.setNumWorkers(Integer.parseInt(sinkerConf.getProperty(SinkerConstants.STORM_NUM_WORKERS))); if (runAsLocal) { conf.setMaxTaskParallelism(10); LocalCluster cluster = new LocalCluster(); cluster.submitTopology(topologyName, conf, topology); } else { StormSubmitter.submitTopology(topologyName, conf, topology); } }
Example 9
Source File: StormRangerAuthorizerTest.java From ranger with Apache License 2.0 | 6 votes |
@Test public void testCreateTopologyBob() throws Exception { final Config conf = new Config(); conf.setDebug(true); final TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("words", new WordSpout()); builder.setBolt("counter", new WordCounterBolt()).shuffleGrouping("words"); final Subject subject = new Subject(); subject.getPrincipals().add(new SimplePrincipal("bob")); Subject.doAs(subject, new PrivilegedExceptionAction<Void>() { public Void run() throws Exception { try { cluster.submitTopology("word-count2", conf, builder.createTopology()); Assert.fail("Authorization failure expected"); } catch (Exception ex) { // expected } return null; } }); }
Example 10
Source File: BlobStoreAPIWordCountTopology.java From storm-net-adapter with Apache License 2.0 | 5 votes |
public void buildAndLaunchWordCountTopology(String[] args) { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout", new RandomSentenceSpout(), 5); builder.setBolt("split", new SplitSentence(), 8).shuffleGrouping("spout"); builder.setBolt("filter", new FilterWords(), 6).shuffleGrouping("split"); Config conf = new Config(); conf.setDebug(true); try { conf.setNumWorkers(3); StormSubmitter.submitTopologyWithProgressBar(args[0], conf, builder.createTopology()); } catch (InvalidTopologyException | AuthorizationException | AlreadyAliveException exp) { throw new RuntimeException(exp); } }
Example 11
Source File: PersistentWindowingTopology.java From storm-net-adapter with Apache License 2.0 | 5 votes |
/** * Create and deploy the topology. * * @param args args * @throws Exception exception */ public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); // generate random numbers builder.setSpout("spout", new RandomIntegerSpout()); // emits sliding window and global averages builder.setBolt("avgbolt", new AvgBolt() .withWindow(new Duration(10, TimeUnit.SECONDS), new Duration(2, TimeUnit.SECONDS)) // persist the window in state .withPersistence() // max number of events to be cached in memory .withMaxEventsInMemory(25000), 1) .shuffleGrouping("spout"); // print the values to stdout builder.setBolt("printer", (x, y) -> System.out.println(x.getValue(0)), 1).shuffleGrouping("avgbolt"); Config conf = new Config(); conf.setDebug(false); // checkpoint the state every 5 seconds conf.put(Config.TOPOLOGY_STATE_CHECKPOINT_INTERVAL, 5000); // use redis for state persistence conf.put(Config.TOPOLOGY_STATE_PROVIDER, "org.apache.storm.redis.state.RedisKeyValueStateProvider"); String topoName = "test"; if (args != null && args.length > 0) { topoName = args[0]; } conf.setNumWorkers(1); StormSubmitter.submitTopologyWithProgressBar(topoName, conf, builder.createTopology()); }
Example 12
Source File: PirkTopology.java From incubator-retired-pirk with Apache License 2.0 | 5 votes |
public static Config createStormConf() { Boolean limitHitsPerSelector = Boolean.parseBoolean(SystemConfiguration.getProperty("pir.limitHitsPerSelector")); Integer maxHitsPerSelector = Integer.parseInt(SystemConfiguration.getProperty("pir.maxHitsPerSelector")); Integer rowDivisions = Integer.parseInt(SystemConfiguration.getProperty("storm.rowDivs", "1")); Config conf = new Config(); conf.setNumAckers(Integer.parseInt(SystemConfiguration.getProperty("storm.numAckers", numWorkers.toString()))); conf.setMaxSpoutPending(Integer.parseInt(SystemConfiguration.getProperty("storm.maxSpoutPending", "300"))); conf.setNumWorkers(numWorkers); conf.setDebug(false); // conf.setNumEventLoggers(2); conf.put(Config.TOPOLOGY_EXECUTOR_RECEIVE_BUFFER_SIZE, SystemConfiguration.getIntProperty("storm.executor.receiveBufferSize", 1024)); conf.put(Config.TOPOLOGY_EXECUTOR_SEND_BUFFER_SIZE, SystemConfiguration.getIntProperty("storm.executor.sendBufferSize", 1024)); conf.put(Config.TOPOLOGY_TRANSFER_BUFFER_SIZE, SystemConfiguration.getIntProperty("storm.transferBufferSize", 32)); conf.put(Config.WORKER_HEAP_MEMORY_MB, SystemConfiguration.getIntProperty("storm.worker.heapMemory", 750)); conf.put(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB, Double.parseDouble(SystemConfiguration.getProperty("storm.componentOnheapMem", "128"))); // Pirk parameters to send to bolts conf.put(StormConstants.ALLOW_ADHOC_QSCHEMAS_KEY, SystemConfiguration.getProperty("pir.allowAdHocQuerySchemas", "false").equals("true")); conf.put(StormConstants.QSCHEMA_KEY, SystemConfiguration.getProperty("query.schemas")); conf.put(StormConstants.DSCHEMA_KEY, SystemConfiguration.getProperty("data.schemas")); conf.put(StormConstants.HDFS_URI_KEY, hdfsUri); conf.put(StormConstants.QUERY_FILE_KEY, queryFile); conf.put(StormConstants.USE_HDFS, useHdfs); conf.put(StormConstants.OUTPUT_FILE_KEY, outputPath); conf.put(StormConstants.LIMIT_HITS_PER_SEL_KEY, limitHitsPerSelector); conf.put(StormConstants.MAX_HITS_PER_SEL_KEY, maxHitsPerSelector); conf.put(StormConstants.SPLIT_PARTITIONS_KEY, splitPartitions); conf.put(StormConstants.SALT_COLUMNS_KEY, saltColumns); conf.put(StormConstants.ROW_DIVISIONS_KEY, rowDivisions); conf.put(StormConstants.ENCROWCALCBOLT_PARALLELISM_KEY, encrowcalcboltParallelism); conf.put(StormConstants.ENCCOLMULTBOLT_PARALLELISM_KEY, enccolmultboltParallelism); return conf; }
Example 13
Source File: DBusRouterTopology.java From DBus with Apache License 2.0 | 5 votes |
private void start(StormTopology topology, boolean runAsLocal) throws Exception { Config conf = new Config(); conf.put(com.creditease.dbus.commons.Constants.ZOOKEEPER_SERVERS, zkConnect); conf.put(Constants.TOPOLOGY_ID, topologyId); conf.put(Constants.TOPOLOGY_ALIAS, alias); conf.put(Constants.ROUTER_PROJECT_NAME, projectName); String workerChildOpts = routerConf.getProperty(DBusRouterConstants.STORM_TOPOLOGY_WORKER_CHILDOPTS, "-Xmx2g"); conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, workerChildOpts); int msgTimeout = Integer.valueOf(routerConf.getProperty(DBusRouterConstants.STORM_MESSAGE_TIMEOUT, "10")); conf.setMessageTimeoutSecs(msgTimeout); int maxSpoutPending = Integer.valueOf(routerConf.getProperty(DBusRouterConstants.STORM_MAX_SPOUT_PENDING, "100")); conf.setMaxSpoutPending(maxSpoutPending); conf.setDebug(true); int numWorks = Integer.valueOf(routerConf.getProperty(DBusRouterConstants.STORM_NUM_WORKS, "1")); conf.setNumWorkers(numWorks); if (runAsLocal) { conf.setMaxTaskParallelism(10); LocalCluster cluster = new LocalCluster(); cluster.submitTopology(topologyName, conf, topology); } else { StormSubmitter.submitTopology(topologyName, conf, topology); } }
Example 14
Source File: MysqlExtractorTopology.java From DBus with Apache License 2.0 | 5 votes |
public void buildTopology(String[] args) { //TODO if (parseCommandArgs(args) != 0) { return; } TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("CanalClientSpout", new CanalClientSpout(), 1); builder.setBolt("KafkaProducerBolt", new KafkaProducerBolt(), 1).shuffleGrouping("CanalClientSpout"); Config conf = new Config(); conf.put(Constants.ZOOKEEPER_SERVERS, zkServers); conf.put(Constants.EXTRACTOR_TOPOLOGY_ID, extractorTopologyId); logger.info(Constants.ZOOKEEPER_SERVERS + "=" + zkServers); logger.info(Constants.EXTRACTOR_TOPOLOGY_ID + "=" + extractorTopologyId); conf.setNumWorkers(1); conf.setMaxSpoutPending(50); conf.setMessageTimeoutSecs(120); if (!runAsLocal) { conf.setDebug(false); try { //StormSubmitter.submitTopology("extractorTopologyId", conf, builder.createTopology()); StormSubmitter.submitTopology(extractorTopologyId, conf, builder.createTopology()); } catch (Exception e) { e.printStackTrace(); } } else { conf.setDebug(false); LocalCluster cluster = new LocalCluster(); //cluster.submitTopology("extractorTopologyId", conf, builder.createTopology()); cluster.submitTopology(extractorTopologyId, conf, builder.createTopology()); } }
Example 15
Source File: StormTestUtil.java From atlas with Apache License 2.0 | 5 votes |
public static Config submitTopology(ILocalCluster stormCluster, String topologyName, StormTopology stormTopology) throws Exception { Config stormConf = new Config(); stormConf.putAll(Utils.readDefaultConfig()); stormConf.put("storm.cluster.mode", "local"); stormConf.setDebug(true); stormConf.setMaxTaskParallelism(3); stormConf.put(Config.STORM_TOPOLOGY_SUBMISSION_NOTIFIER_PLUGIN, org.apache.atlas.storm.hook.StormAtlasHook.class.getName()); stormCluster.submitTopology(topologyName, stormConf, stormTopology); Thread.sleep(10000); return stormConf; }
Example 16
Source File: SingleJoinExample.java From storm-net-adapter with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws Exception { if (!NimbusClient.isLocalOverride()) { throw new IllegalStateException("This example only works in local mode. " + "Run with storm local not storm jar"); } FeederSpout genderSpout = new FeederSpout(new Fields("id", "gender")); FeederSpout ageSpout = new FeederSpout(new Fields("id", "age")); TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("gender", genderSpout); builder.setSpout("age", ageSpout); builder.setBolt("join", new SingleJoinBolt(new Fields("gender", "age"))).fieldsGrouping("gender", new Fields("id")) .fieldsGrouping("age", new Fields("id")); Config conf = new Config(); conf.setDebug(true); StormSubmitter.submitTopology("join-example", conf, builder.createTopology()); for (int i = 0; i < 10; i++) { String gender; if (i % 2 == 0) { gender = "male"; } else { gender = "female"; } genderSpout.feed(new Values(i, gender)); } for (int i = 9; i >= 0; i--) { ageSpout.feed(new Values(i, i + 20)); } }
Example 17
Source File: StormRangerAuthorizerTest.java From ranger with Apache License 2.0 | 5 votes |
@Test public void testTAGBasedPolicy() throws Exception { final Config conf = new Config(); conf.setDebug(true); final TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("words", new WordSpout()); builder.setBolt("counter", new WordCounterBolt()).shuffleGrouping("words"); final Subject subject = new Subject(); subject.getPrincipals().add(new SimplePrincipal("bob")); Subject.doAs(subject, new PrivilegedExceptionAction<Void>() { public Void run() throws Exception { // bob can create the "stormdev" topology cluster.submitTopology("stormdev", conf, builder.createTopology()); cluster.killTopology("stormdev"); // but not the "stormdev2" topology try { cluster.submitTopology("stormdev2", conf, builder.createTopology()); Assert.fail("Authorization failure expected"); } catch (Exception ex) { // expected } return null; } }); }
Example 18
Source File: ResourceAwareExampleTopology.java From storm-net-adapter with Apache License 2.0 | 4 votes |
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); //A topology can set resources in terms of CPU and Memory for each component // These can be chained (like with setting the CPU requirement) SpoutDeclarer spout = builder.setSpout("word", new TestWordSpout(), 10).setCPULoad(20); // Or done separately like with setting the // onheap and offheap memory requirement spout.setMemoryLoad(64, 16); //On heap memory is used to help calculate the heap of the java process for the worker // off heap memory is for things like JNI memory allocated off heap, or when using the // ShellBolt or ShellSpout. In this case the 16 MB of off heap is just as an example // as we are not using it. // Some times a Bolt or Spout will have some memory that is shared between the instances // These are typically caches, but could be anything like a static database that is memory // mapped into the processes. These can be declared separately and added to the bolts and // spouts that use them. Or if only one uses it they can be created inline with the add SharedOnHeap exclaimCache = new SharedOnHeap(100, "exclaim-cache"); SharedOffHeapWithinNode notImplementedButJustAnExample = new SharedOffHeapWithinNode(500, "not-implemented-node-level-cache"); //If CPU or memory is not set the values stored in topology.component.resources.onheap.memory.mb, // topology.component.resources.offheap.memory.mb and topology.component.cpu.pcore.percent // will be used instead builder .setBolt("exclaim1", new ExclamationBolt(), 3) .shuffleGrouping("word") .addSharedMemory(exclaimCache); builder .setBolt("exclaim2", new ExclamationBolt(), 2) .shuffleGrouping("exclaim1") .setMemoryLoad(100) .addSharedMemory(exclaimCache) .addSharedMemory(notImplementedButJustAnExample); Config conf = new Config(); conf.setDebug(true); //Under RAS the number of workers is determined by the scheduler and the settings in the conf are ignored //conf.setNumWorkers(3); //Instead the scheduler lets you set the maximum heap size for any worker. conf.setTopologyWorkerMaxHeapSize(1024.0); //The scheduler generally will try to pack executors into workers until the max heap size is met, but // this can vary depending on the specific scheduling strategy selected. // The reason for this is to try and balance the maximum pause time GC might take (which is larger for larger heaps) // against better performance because of not needing to serialize/deserialize tuples. //The priority of a topology describes the importance of the topology in decreasing importance // starting from 0 (i.e. 0 is the highest priority and the priority importance decreases as the priority number increases). //Recommended range of 0-29 but no hard limit set. // If there are not enough resources in a cluster the priority in combination with how far over a guarantees // a user is will decide which topologies are run and which ones are not. conf.setTopologyPriority(29); //set to use the default resource aware strategy when using the MultitenantResourceAwareBridgeScheduler conf.setTopologyStrategy( "org.apache.storm.scheduler.resource.strategies.scheduling.DefaultResourceAwareStrategy"); String topoName = "test"; if (args != null && args.length > 0) { topoName = args[0]; } StormSubmitter.submitTopologyWithProgressBar(topoName, conf, builder.createTopology()); }
Example 19
Source File: LogLevelCountTopology.java From nifi-streaming-examples with Apache License 2.0 | 4 votes |
public static void main( String[] args ) throws Exception { String propertiesFile = DEFAULT_PROPERTIES_FILE; if (args != null && args.length == 1 && args[0] != null) { propertiesFile = args[0]; } LogLevelCountProperties props = new LogLevelCountProperties(propertiesFile); int windowMillis = props.getStormWindowMillis(); double rateThreshold = props.getStormRateThreshold(); // Build the spout for pulling data from NiFi and pull out the log level into a tuple field NiFiSpout niFiSpout = new NiFiSpout(getSourceConfig(props), Collections.singletonList(props.getLogLevelAttribute())); // Build the bolt for counting log levels over a tumbling window BaseWindowedBolt logLevelWindowBolt = new LogLevelWindowBolt(props.getLogLevelAttribute()) .withTumblingWindow(new BaseWindowedBolt.Duration(windowMillis, TimeUnit.MILLISECONDS)); // Build the bolt for pushing results back to NiFi NiFiDataPacketBuilder dictionaryBuilder = new DictionaryBuilder(windowMillis, rateThreshold); NiFiBolt niFiBolt = new NiFiBolt(getSinkConfig(props), dictionaryBuilder, 10).withBatchSize(1); // Build the topology of NiFiSpout -> LogLevelWindowBolt -> NiFiBolt TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("nifiInput", niFiSpout); builder.setBolt("logLevels", logLevelWindowBolt).shuffleGrouping("nifiInput"); builder.setBolt("nifiOutput", niFiBolt).shuffleGrouping("logLevels"); // Submit the topology Config conf = new Config(); conf.setDebug(true); // Need to set the message timeout to twice the window size in seconds conf.setMessageTimeoutSecs((props.getStormWindowMillis()/1000) * 2); if (args != null && args.length > 0) { conf.setNumWorkers(3); StormSubmitter.submitTopologyWithProgressBar(args[0], conf, builder.createTopology()); } else { LocalCluster cluster = new LocalCluster(); cluster.submitTopology("log-levels", conf, builder.createTopology()); Utils.sleep(130000); cluster.killTopology("log-levels"); cluster.shutdown(); } }
Example 20
Source File: DispatcherAppenderTopology.java From DBus with Apache License 2.0 | 4 votes |
private void start(StormTopology topology, boolean runAsLocal) throws Exception { Config conf = new Config(); // 启动类型为all,或者dispatcher if (topologyType.equals(Constants.TopologyType.ALL) || topologyType.equals(Constants.TopologyType.DISPATCHER)) { /** * dispatcher配置 */ conf.put(com.creditease.dbus.commons.Constants.ZOOKEEPER_SERVERS, zookeeper); conf.put(com.creditease.dbus.commons.Constants.TOPOLOGY_ID, dispatcherTopologyId); logger.info(com.creditease.dbus.commons.Constants.ZOOKEEPER_SERVERS + "=" + zookeeper); logger.info(com.creditease.dbus.commons.Constants.TOPOLOGY_ID + "=" + dispatcherTopologyId); } // 启动类型为all,或者appender if (topologyType.equals(Constants.TopologyType.ALL) || topologyType.equals(Constants.TopologyType.APPENDER)) { /** * appender配置 */ conf.put(Constants.StormConfigKey.TOPOLOGY_ID, appenderTopologyId); conf.put(Constants.StormConfigKey.ZKCONNECT, zookeeper); conf.put(Constants.StormConfigKey.DATASOURCE, datasource); } // conf.put(Config.TOPOLOGY_TRANSFER_BUFFER_SIZE, 4096); // conf.put(Config.TOPOLOGY_EXECUTOR_RECEIVE_BUFFER_SIZE, 4096); // conf.put(Config.TOPOLOGY_EXECUTOR_SEND_BUFFER_SIZE, 4096); conf.setDebug(true); conf.setNumAckers(1); //设置worker数 conf.setNumWorkers(1); //设置任务在发出后,但还没处理完成的中间状态任务的最大数量, 如果没有设置最大值为50 int MaxSpoutPending = getConfigureValueWithDefault(Constants.ConfigureKey.MAX_SPOUT_PENDING, 50); conf.setMaxSpoutPending(MaxSpoutPending); //设置任务在多久之内没处理完成,则这个任务处理失败 conf.setMessageTimeoutSecs(120); String opts = getWorkerChildopts(); if (opts != null && opts.trim().length() > 0) { conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, opts); } // conf.put(Config.TOPOLOGY_SKIP_MISSING_KRYO_REGISTRATIONS, true); // conf.registerSerialization(org.apache.avro.util.Utf8.class); // conf.registerSerialization(com.creditease.dbus.commons.DBusConsumerRecord.class); // conf.registerSerialization(org.apache.kafka.common.record.TimestampType.class); // conf.registerSerialization(com.creditease.dbus.stream.common.appender.bean.EmitData.class); // conf.registerSerialization(com.creditease.dbus.stream.common.appender.enums.Command.class); // conf.registerSerialization(org.apache.avro.generic.GenericData.class); // conf.registerSerialization(com.creditease.dbus.stream.oracle.appender.avro.GenericData.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage12.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage12.Schema12.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage13.Schema13.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage13.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage.Field.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage.Payload.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage.Protocol.class); // conf.registerSerialization(com.creditease.dbus.commons.DbusMessage.ProtocolType.class); // conf.registerSerialization(com.creditease.dbus.stream.oracle.appender.bolt.processor.appender.OraWrapperData.class); // conf.registerSerialization(com.creditease.dbus.stream.common.appender.spout.cmds.TopicResumeCmd.class); if (runAsLocal) { LocalCluster cluster = new LocalCluster(); cluster.submitTopology(topologyId, conf, topology); /*String cmd; do { cmd = System.console().readLine(); } while (!cmd.equals("exit")); cluster.shutdown();*/ } else { StormSubmitter.submitTopology(topologyId, conf, topology); } }