org.apache.storm.kafka.ZkHosts Java Examples
The following examples show how to use
org.apache.storm.kafka.ZkHosts.
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: StatisticTopology.java From storm-statistic with Apache License 2.0 | 5 votes |
/** * BrokerHosts hosts kafka集群列表 * String topic 要消费的topic主题 * String zkRoot kafka在zk中的目录(会在该节点目录下记录读取kafka消息的偏移量) * String id 当前操作的标识id */ private static KafkaSpout createKafkaSpout() { String brokerZkStr = "uplooking01:2181,uplooking02:2181,uplooking03:2181"; BrokerHosts hosts = new ZkHosts(brokerZkStr); // 通过zookeeper中的/brokers即可找到kafka的地址 String topic = "f-k-s"; String zkRoot = "/" + topic; String id = "consumer-id"; SpoutConfig spoutConf = new SpoutConfig(hosts, topic, zkRoot, id); // 本地环境设置之后,也可以在zk中建立/f-k-s节点,在集群环境中,不用配置也可以在zk中建立/f-k-s节点 //spoutConf.zkServers = Arrays.asList(new String[]{"uplooking01", "uplooking02", "uplooking03"}); //spoutConf.zkPort = 2181; spoutConf.startOffsetTime = OffsetRequest.LatestTime(); // 设置之后,刚启动时就不会把之前的消息也进行读取,会从最新的偏移量开始读取 return new KafkaSpout(spoutConf); }
Example #2
Source File: PirkTopology.java From incubator-retired-pirk with Apache License 2.0 | 5 votes |
public static void runPirkTopology() throws PIRException { // Set up Kafka parameters logger.info("Configuring Kafka."); String zkRoot = "/" + kafkaTopic + "_pirk_storm"; BrokerHosts zkHosts = new ZkHosts(brokerZk); SpoutConfig kafkaConfig = new SpoutConfig(zkHosts, kafkaTopic, zkRoot, kafkaClientId); kafkaConfig.ignoreZkOffsets = forceFromStart; // Create conf logger.info("Retrieving Query and generating Storm conf."); Config conf = createStormConf(); Query query = StormUtils.getQuery(useHdfs, hdfsUri, queryFile); conf.put(StormConstants.N_SQUARED_KEY, query.getNSquared().toString()); conf.put(StormConstants.QUERY_INFO_KEY, query.getQueryInfo().toMap()); // Configure this for different types of input data on Kafka. kafkaConfig.scheme = new SchemeAsMultiScheme(new PirkHashScheme(conf)); // Create topology StormTopology topology = getPirkTopology(kafkaConfig); // Run topology logger.info("Submitting Pirk topology to Storm..."); try { StormSubmitter.submitTopologyWithProgressBar(topologyName, conf, topology); } catch (AlreadyAliveException | InvalidTopologyException | AuthorizationException e) { throw new PIRException(e); } }
Example #3
Source File: KafkaStormIntegrationTest.java From incubator-retired-pirk with Apache License 2.0 | 5 votes |
private SpoutConfig setUpTestKafkaSpout(Config conf) { ZkHosts zkHost = new ZkHosts(zookeeperLocalCluster.getConnectString()); SpoutConfig kafkaConfig = new SpoutConfig(zkHost, topic, "/pirk_test_root", "pirk_integr_test_spout"); kafkaConfig.scheme = new SchemeAsMultiScheme(new PirkHashScheme(conf)); logger.info("KafkaConfig initialized..."); return kafkaConfig; }
Example #4
Source File: StormKafkaProcess.java From BigData with GNU General Public License v3.0 | 5 votes |
public static void main(String[] args) throws InterruptedException, InvalidTopologyException, AuthorizationException, AlreadyAliveException { String topologyName = "TSAS";// 元组名 // Zookeeper主机地址,会自动选取其中一个 ZkHosts zkHosts = new ZkHosts("192.168.230.128:2181,192.168.230.129:2181,192.168.230.131:2181"); String topic = "trademx"; String zkRoot = "/storm";// storm在Zookeeper上的根路径 String id = "tsaPro"; // 创建SpoutConfig对象 SpoutConfig spontConfig = new SpoutConfig(zkHosts, topic, zkRoot, id); TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("kafka", new KafkaSpout(spontConfig), 2); builder.setBolt("AccBolt", new AccBolt()).shuffleGrouping("kafka"); builder.setBolt("ToDbBolt", new ToDbBolt()).shuffleGrouping("AccBolt"); Config config = new Config(); config.setDebug(false); if (args.length == 0) { // 本地运行,用于测试 LocalCluster localCluster = new LocalCluster(); localCluster.submitTopology(topologyName, config, builder.createTopology()); Thread.sleep(1000 * 3600); localCluster.killTopology(topologyName); localCluster.shutdown(); } else { // 提交至集群运行 StormSubmitter.submitTopology(topologyName, config, builder.createTopology()); } }
Example #5
Source File: AdvertisingTopology.java From streaming-benchmarks with Apache License 2.0 | 4 votes |
public static void main(String[] args) throws Exception { TopologyBuilder builder = new TopologyBuilder(); Options opts = new Options(); opts.addOption("conf", true, "Path to the config file."); CommandLineParser parser = new DefaultParser(); CommandLine cmd = parser.parse(opts, args); String configPath = cmd.getOptionValue("conf"); Map commonConfig = Utils.findAndReadConfigFile(configPath, true); String zkServerHosts = joinHosts((List<String>)commonConfig.get("zookeeper.servers"), Integer.toString((Integer)commonConfig.get("zookeeper.port"))); String redisServerHost = (String)commonConfig.get("redis.host"); String kafkaTopic = (String)commonConfig.get("kafka.topic"); int kafkaPartitions = ((Number)commonConfig.get("kafka.partitions")).intValue(); int workers = ((Number)commonConfig.get("storm.workers")).intValue(); int ackers = ((Number)commonConfig.get("storm.ackers")).intValue(); int cores = ((Number)commonConfig.get("process.cores")).intValue(); int parallel = Math.max(1, cores/7); ZkHosts hosts = new ZkHosts(zkServerHosts); SpoutConfig spoutConfig = new SpoutConfig(hosts, kafkaTopic, "/" + kafkaTopic, UUID.randomUUID().toString()); spoutConfig.scheme = new SchemeAsMultiScheme(new StringScheme()); KafkaSpout kafkaSpout = new KafkaSpout(spoutConfig); builder.setSpout("ads", kafkaSpout, kafkaPartitions); builder.setBolt("event_deserializer", new DeserializeBolt(), parallel).shuffleGrouping("ads"); builder.setBolt("event_filter", new EventFilterBolt(), parallel).shuffleGrouping("event_deserializer"); builder.setBolt("event_projection", new EventProjectionBolt(), parallel).shuffleGrouping("event_filter"); builder.setBolt("redis_join", new RedisJoinBolt(redisServerHost), parallel).shuffleGrouping("event_projection"); builder.setBolt("campaign_processor", new CampaignProcessor(redisServerHost), parallel*2) .fieldsGrouping("redis_join", new Fields("campaign_id")); Config conf = new Config(); if (args != null && args.length > 0) { conf.setNumWorkers(workers); conf.setNumAckers(ackers); StormSubmitter.submitTopologyWithProgressBar(args[0], conf, builder.createTopology()); } else { LocalCluster cluster = new LocalCluster(); cluster.submitTopology("test", conf, builder.createTopology()); org.apache.storm.utils.Utils.sleep(10000); cluster.killTopology("test"); cluster.shutdown(); } }