判官007 发表于 2015-11-28 15:55:17

一个spark receiver 或多个spark receiver 接收 多个flume agent


[*]利用一个spark receiver 接收多个flume agent



String host = args;
int port = Integer.parseInt(args);
String host1 = args;
int port1 = Integer.parseInt(args);
InetSocketAddress address1 = new InetSocketAddress(host,port);
InetSocketAddress address2 = new InetSocketAddress(host1,port1);
InetSocketAddress[] InetSocketAddressArray = {address1,address2};
JavaStreamingContext jssc = new JavaStreamingContext(new SparkConf().setAppName("JavaFlumeEventHandle_1"), Durations.seconds(2));
JavaReceiverInputDStream<SparkFlumeEvent> flumeStream = FlumeUtils.createPollingStream(jssc, InetSocketAddressArray, StorageLevel.MEMORY_AND_DISK_SER_2());


[*]2个spark receiver接收多个flume agent



String host = args;
int port = Integer.parseInt(args);
String host1 = args;
int port1 = Integer.parseInt(args);
InetSocketAddress address1 = new InetSocketAddress(host,port);
InetSocketAddress address2 = new InetSocketAddress(host1,port1);
InetSocketAddress[] InetSocketAddressArray = {address1,address2};
JavaStreamingContext jssc = new JavaStreamingContext(new SparkConf().setAppName("JavaFlumeEventHandle_1"), Durations.seconds(2));
//       JavaReceiverInputDStream<SparkFlumeEvent> flumeStream = FlumeUtils.createPollingStream(jssc, InetSocketAddressArray, StorageLevel.MEMORY_AND_DISK_SER_2());
JavaReceiverInputDStream<SparkFlumeEvent> flumeStream = FlumeUtils.createPollingStream(jssc,host,port);
JavaReceiverInputDStream<SparkFlumeEvent> flumeStream1 = FlumeUtils.createPollingStream(jssc, host1, port1);
JavaDStream<SparkFlumeEvent> union = flumeStream.union(flumeStream1);

  性能参照:

http://blog.sina.com.cn/s/blog_13122bdbc0102vay7.html
页: [1]
查看完整版本: 一个spark receiver 或多个spark receiver 接收 多个flume agent