当前位置: 首页 > 知识库问答 >
问题:

如何为嵌入式水槽代理实现自定义水槽?

百里朝
2023-03-14

我正在构建一个 Spring 启动独立应用程序,该应用程序需要使用来自远程服务器的消息并将其写入 Syslog 服务器。我正在使用Flume嵌入式代理来可靠地记录消息。但是我收到以下错误。

引起:org.apache.flume.Flume异常:组件类型的com.security.flume.sink.Sy

根据文档Embedded Agent仅支持Avro Sink。这是否意味着我们甚至不能编写自定义水槽?

我对Flume相当陌生。我真的很感谢你在这个问题上的帮助。

谢谢!

共有1个答案

高修伟
2023-03-14

这意味着对于嵌入式代理,您可以将AvroSink用作自定义接收器。但是,有一些技术可以用于使用自定义组件从外部源收集数据:

> < li>

创建能够与先前存在的Flume源建立通信的自定义客户端,如< code>AvroSources或< code>SyslogTcpSource。

创建自定义水槽源,通过IPC或RPC协议与预先存在的客户端直接通信。

我希望这个答案不会太晚,可以帮助你一些事情。感谢阅读!!

 类似资料:
  • 我试图建立flume,这样每个代理可以有多个接收器,最终有多个通道和源(现在只看多个通道)。我有一个类似这样的配置文件和一个ruby模板。我不知道如何将功能添加到模板文件中,以便每个代理可以将一个事件发送到多个通道

  • 我测试了Apache Flume将文件从本地传输到HDFS。但是,如果源文件来自多个服务器(将文件从不同服务器的本地传输到HDFS),我可以只运行一个Flume实例并将更多代理添加到Flume-conf.property中吗? 如果可以,如何在 flume-conf.properties 中编辑以下参数: 还有,我怎样才能运行水槽? 只能运行一个水槽。两个以上呢?

  • 许多网站建议在停止水槽代理时使用kill -9。 然而,当我用kill-9停止代理时,HDFS接收器文件将永远保持打开状态(如*.tmp)。

  • 我正在从事大数据项目。我们正在使用水槽将文件从sftp下载到HDFS。然后,我们配置了3个代理。他们从同一个来源读取。因此,我们将3个重复的文件放入HDFS,这不好。然而,我们必须只有一个文件。然而,我们需要为处理过的文件保持可追溯性,并管理代理之间的并发。例如,我们有3个主要代理A1、A2和A3。如果一个文件xxx.csv由代理A2处理或正在处理中。其他人不会处理它,会寻找未处理的文件。因此,每

  • 我正试图在我的web服务中编写嵌入式flume代理,以将我的日志转移到另一个运行flume代理的hadoop集群。要使用嵌入式flume代理,我们需要hadoop在我的web服务运行的服务器上运行吗?

  • 我正在尝试使用hdfs水槽运行水槽。hdfs在不同的机器上正常运行,我甚至可以与水槽机器上的hdfs交互,但是当我运行水槽并向其发送事件时,我收到以下错误: 同样,一致性不是问题,因为我可以使用hadoop命令行与hdfs交互(水槽机不是datanode)。最奇怪的是,在杀死水槽后,我可以看到tmp文件是在hdfs中创建的,但它是空的(扩展名仍然是. tmp)。 关于为什么会发生这种情况的任何想法