Hadoop 通过网络获取日志的Flume

Hadoop 通过网络获取日志的Flume,hadoop,flume,Hadoop,Flume,我一直在Flume中工作,从服务器机器获取日志到HDFS。如果服务器和客户机连接在同一个网络中,我就能够实现这一点。但是,如果服务器和客户端位于不同的网络中,如何实现相同的功能呢 我需要为此编写自定义源代码吗?[刚刚查看了cloudera的twitter示例,其中他们使用自己的自定义源获取twitter推文。] 任何帮助都将不胜感激 谢谢 Kalai水槽代理需要能够连接到传输事件。这意味着他们需要在同一个网络上 我不确定我是否理解你的问题。你为什么希望它能工作呢?如果你有一台多主机连接两个你想通

我一直在Flume中工作,从服务器机器获取日志到HDFS。如果服务器和客户机连接在同一个网络中,我就能够实现这一点。但是,如果服务器和客户端位于不同的网络中,如何实现相同的功能呢

我需要为此编写自定义源代码吗?[刚刚查看了cloudera的twitter示例,其中他们使用自己的自定义源获取twitter推文。]

任何帮助都将不胜感激

谢谢


Kalai

水槽代理需要能够连接到传输事件。这意味着他们需要在同一个网络上


我不确定我是否理解你的问题。你为什么希望它能工作呢?

如果你有一台多主机连接两个你想通过的非通话网络,你可以让flume代理在那里运行,以桥接从一个网络传入的日志并将其传送到另一个网络。因此,您的多宿主主机将充当某种代理。我不知道这是否一定是个好主意,因为如果代理是网络之间的唯一链接,那么它可能已经在忙着做其他事情了。但是,如果您可以设置它,就不需要自定义接收器或源

如果您有两个不相交的网络,它们都可以看到internet,那么您可以让一个代理通过HTTP(或TCP,但这需要更多的工作)发布到web服务器,另一个代理从同一个网站获取它。您需要编写两个定制代理(source和sink),以便以性能、可靠和安全的方式工作,更不用说web服务本身了


最后,如果有两个完全断开的网络(带有气隙),那么您可以考虑编写自定义接收器,例如,自动检测插入的磁带并将日志复制到磁带上。然后你拿着磁带,走到另一个网络,插上插头,让另一个代理在那里自动检测它并接收数据:)

我的要求是获取在远程服务器中生成的日志,该服务器尚未连接到客户端网络。关于使用
磁带
和运动鞋网络:),我想给出+1。)