Flume-ng は初めてです。テキスト ファイルを他のプログラム (エージェント) に転送できるプログラムを作成する必要があります。エージェント、つまりホスト IP、ポート番号などについて知っておく必要があることはわかっています。次に、ソース、シンク、およびチャネルを定義する必要があります。ログファイルをサーバーに転送したいだけです。私のクライアントコードは次のとおりです。public class MyRpcClientFacade {
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
さらに、サーバーに書き込む必要があるかどうか教えてください。もしそうなら、これら3つの設定方法と書き方。私を助けてください。の小さなサンプルを与えるSource,Sink And Channel