Flume-ng를 처음 사용했습니다. 텍스트 파일을 다른 프로그램 (에이전트)으로 전송할 수있는 프로그램을 작성해야합니다. 우리는 에이전트, 즉 호스트 -IP, 포트 번호 등을 알아야한다는 것을 알고 있습니다. 그런 다음 소스, 싱크 및 채널을 정의해야합니다. 난 그냥 로그 파일을 서버로 전송하고 싶다. 내 클라이언트 코드는 다음과 같습니다. 공용 클래스 MyRpcClientFacade {코드 위Flume : 서버로 데이터 전송
public class MyClient{
private RpcClient client;
private String hostname;
private int port;
public void init(String hostname, int port) {
this.hostname = hostname;
this.port = port;
this.client = RpcClientFactory.getDefaultInstance(hostname, port);
}
public void sendDataToFlume(String data) {
Event event = EventBuilder.withBody(data, Charset.forName("UTF-8"));
try {
client.append(event);
} catch (EventDeliveryException e) {
client.close();
client = null;
client = RpcClientFactory.getDefaultInstance(hostname, port);
}
}
public void cleanUp() {
client.close();
}
}
는 지정된 프로세스 만 String
데이터를 보낼 수 있습니다. 하지만 파일을 보내야 해. 또한 Source,Channel and Sink
이 서버에 기록되어야하는지 여부를 알려주십시오. 그렇다면이 세 가지를 구성하고 작성하는 방법. 도와주세요. Source,Sink And Channel