1.架构
要采集的日志位于hadoop102和hadoop103两个节点上,采集数据到kafka中,这是第一层flume。
再从Kafka采集到hdfs中,这是第二层flume。
2.第一层flume
自定义拦截器,过滤非json数据
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.flume.Context;
import org.apache.flume.Event;
import org.apache.flume.interceptor.Interceptor;
import java.util.Iterator;
import java.util.List;
public class JsonInterceptor implements Interceptor {
@Override
public void initialize() {
}
@Override
public Event intercept(Event event) {
String bodyString = new String(event.getBody());
try {
JSONObject jsonObject = JSON.parseObject(bodyString);
} catch (Exception e) {
return null;
}
return event;
}
@Override
public List