如何为嵌入式flume代理实现自定义接收器?

vmjh9lq9  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(396)

我正在构建一个springboot独立应用程序,它需要使用来自远程服务器的消息并将它们写入 Syslog Server . 我使用flume嵌入式代理来可靠地记录消息。但我有以下错误。
原因:org.apache.flume.flumeexception:com.security.flume.sink.syslogsink的组件类型不在org.apache.flume.agent.embedded.embeddedagentconfiguration.checkallowed(embeddedagentconfiguration)中允许的[avro]类型中。java:308)~[flume-ng-embedded-agent-1.9.0。jar:1.9.0]在org.apache.flume.agent.embedded.embeddedagentconfiguration.validate(embeddedagentconfiguration)。java:182)~[flume-ng-embedded-agent-1.9.0。jar:1.9.0]位于org.apache.flume.agent.embedded.embeddedagentconfiguration.configure(embeddedagentconfiguration)。java:199)~[flume-ng-embedded-agent-1.9.0。jar:1.9.0]在org.apache.flume.agent.embedded.embeddedagent.doconfigure(embeddedagent。java:151)~[flume-ng-embedded-agent-1.9.0。jar:1.9.0]在org.apache.flume.agent.embedded.embeddedagent.configure(embeddedagent。java:98)~[flume-ng-embedded-agent-1.9.0。jar:1.9.0]
根据文件 Embedded Agent 仅支持 Avro Sink . 这是否意味着我们甚至不能写一个定制的Flume?
我对Flume还比较陌生。我真的很感谢你在这个问题上的帮助。
谢谢!

wb1gzix0

wb1gzix01#

这意味着对于嵌入式代理,您可以使用 AvroSink 作为定制Flume。但是,您可以使用一些技术使用自定义组件从外部源收集数据:
创建一个自定义客户端,该客户端能够与prior中存在的flume源建立通信,如 AvroSources 或者 SyslogTcpSource .
创建自定义flume源,通过ipc或rpc协议与预先存在的客户端进行直接通信。
我希望这个答案不会太迟,可以帮你做点什么。感谢阅读!!

相关问题