zoukankan      html  css  js  c++  java
  • flume自定义source

    package me;
    
    import java.nio.charset.Charset;
    import java.util.HashMap;
    import java.util.Random;
    
    import org.apache.flume.Context;
    import org.apache.flume.EventDeliveryException;
    import org.apache.flume.PollableSource;
    import org.apache.flume.conf.Configurable;
    import org.apache.flume.event.EventBuilder;
    import org.apache.flume.source.AbstractSource;
    
    public class MySource extends AbstractSource implements Configurable, PollableSource {
    
    	@Override
    	public long getBackOffSleepIncrement() {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    	@Override
    	public long getMaxBackOffSleepInterval() {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    	@Override
    	public Status process() throws EventDeliveryException {
    		try {
    			while (true) {
    				int max = 20;
    				int min = 10;
    				Random random = new Random();
    
    				int s = random.nextInt(max) % (max - min + 1) + min;
    				HashMap<String, String> header = new HashMap<String, String>();
    				header.put("id", Integer.toString(s));
    				this.getChannelProcessor()
    						.processEvent(EventBuilder.withBody(Integer.toString(s), Charset.forName("UTF-8"), header));
    
    				Thread.sleep(1000);
    			}
    		}  catch (InterruptedException e) {
    			e.printStackTrace();
    		}
    		return null;
    	}
    
    	@Override
    	public void configure(Context arg0) {
    		
    	}
    }
    
    agent.channels = ch-1
    agent.sources = src-1
    agent.sinks = sk1
    
    agent.sources.src-1.type = me.MySource
    
    agent.channels.ch-1.type = memory
    agent.channels.ch-1.capacity = 10000
    agent.channels.ch-1.transactionCapacity = 10000
    agent.channels.ch-1.byteCapacityBufferPercentage = 20
    agent.channels.ch-1.byteCapacity = 800000
    
    agent.sinks.sk1.type = logger  
    
    agent.sinks.sk1.channel = ch-1
    agent.sources.src-1.channels=ch-1
    
    lihudeMacBook-Pro:~ SunAndLi$ cd hadoop-2.7.2/flume/
    lihudeMacBook-Pro:flume SunAndLi$  bin/flume-ng agent -c conf -f conf/mysql-source --name agent -Dflume.root.logger=INFO,console 
    

     

  • 相关阅读:
    BZOJ4503 两个串
    【挖坟】HDU3205 Factorization
    webpack打包 The 'mode' option has not been set, webpack will fallback to
    echarts js报错 Cannot read property 'getAttribute' of null
    微信支付 get_brand_wcpay_request fail,Undefined variable: openid
    layui动态设置checbox选中状态
    layui 获取radio单选框选中的值
    js 获取数组最后一个元素
    js生成指定范围内的随机数
    layer重复弹出(layui弹层同时存在多个)的解决方法
  • 原文地址:https://www.cnblogs.com/sunyaxue/p/6646835.html
Copyright © 2011-2022 走看看