Flume:数据传输到服务器

用户名

我是Flume-ng的新手。我必须编写一个程序,该程序可以将文本文件传输到其他程序(代理)。我知道我们必须了解代理,例如主机IP,端口号等。然后应定义源,接收器和通道。我只想将日志文件传输到服务器。我的客户代码如下。公共类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必须写入服务器?如果是这样,如何配置和编写这三个。请帮我。给一个小样本Source,Sink And Channel

用户数

实际上,您只需要在每个节点上获取Flume客户端即可。然后,您提供一个配置文件,其中提供有关其行为的信息。例如,如果您的节点读取了一个文件(读取每一行,并将它们作为事件发送到channel),然后通过RPC套接字发送文件内容。您的配置将如下所示:

  # sources/sinks/channels list
  <Agent>.sources = <Name Source1>
  <Agent>.sinks = <Name Sink1>
  <Agent>.channels = <Name Channel1> 
  # Channel attribution to a source
  <Agent>.sources.<Name Source1>.channels = <Name Channel1>
  # Channel attribution to sink
  <Agent>.sinks.<Name Sink1>.channels = <Name Channel1>
  # Configuration (sources,channels and sinks)
  # Source properties : <Name Source1>
  <Agent>.sources.<Name Source1>.type = exec
  <Agent>.sources.<Name Source1>.command = tail -F test
  <Agent>.sources.<Name Source1>.channels = <Name Channel1>
  # Channel properties : <Name Channel1>
  <Agent>.channels.<Name Channel1>.type = memory
  <Agent>.channels.<Name Channel1>.capacity = 1000
  <Agent>.channels.<Name Channel1>.transactionCapacity = 1000
  # Sink properties : <Name Sink1>
  <Agent>.sinks.<Nom Sink1>.type = avro
  <Agent>.sinks.<Nom Sink1>.channel = <Nom Channel1>
  <Agent>.sinks.<Nom Sink1>.hostname = <HOST NAME or IP>
  <Agent>.sinks.<Nom Sink1>.port = <PORT NUMBER>

然后,您将必须设置一个代理,该代理将在同一端口上的avro源上进行读取,并以您想要存储它们的方式处理该事件。希望对您有所帮助;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将大数据传输到远程服务器以进行保存

是否必须使用表单将数据传输到服务器?

PubNub到服务器的数据传输

有没有办法确认是否通过网络浏览器将数据传输到Google Chrome中的服务器

Android / IOS应用程序与网关(后端服务器)之间的数据传输框架

客户端和服务器之间的同步和异步数据传输

从服务器1(处于恢复模式)到2的弹性数据传输

Excel通过SQL服务器访问文件数据传输

节点服务器因大量Websocket数据传输而冻结

HTTP规范:不进行数据传输的PUT,因为服务器知道数据的哈希值

将Winform数据传输到Web浏览器(Chrome,Mozila FireFox,Safari等)

将winform数据传输到Chrome浏览器中的yahoo登录页面

努力将数据传输到子组件

使用PHP将Json数据传输到MySQL

如何从网页将数据传输到Firefox扩展

将从excel读取的数据传输到数组

文件节拍未将数据传输到logstash

Vuejs。我无法将数据传输到对象

通过python将json数据传输到Postgres

如何检查将某些数据传输到端口?

C# 客户端到服务器数据传输服务器正在接收以前的客户端消息 Async Server - Async Client

微服务到微服务数据传输的性能

将数据流式传输到Druid服务器

将数据传输到外部硬盘驱动器的最快方法是什么?

如何使用QueryCassandra和ExecutePySpark Nifi处理器将cassandra数据传输到pyspark?

在Amazon EC2服务器中安装Amazon S3存储桶数据传输费用是否适用?

如何在LAN上更快地在ESI服务器和计算机之间进行数据传输

如何调用按需 bigquery 数据传输服务?

如何将(Mutable)Map传输到Kotlin中的数据传输对象类?