问题标签 [flume]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hbase - 使用 hbase sink (Cloudera) 时,Flume “config”命令保持在 EXECING 状态
我正在尝试使用水槽将日志流式传输到 hbase。我有一个正在运行的分布式水槽设置和一个 hbase 集群;两者都使用相同的 Zookeeper。Flume 正在使用各种命令(文本、尾部、自定义接收器过滤器),但是当我尝试在 Flume shell 或 Web UI 中使用以下命令时:
该命令在命令行和 Web UI 中都永远处于 EXECING 状态。
scala - 在 Java/Scala 中为 Hadoop 构建数据分析管道的最成熟的库是什么?
我最近发现了很多选择,并且主要通过成熟度和稳定性进行比较。
logging - 分离水槽流
我有两个不同的日志流,我想在 Flume 中创建它们。这些流包含不同的日志消息,单独处理它们会很棒。
拓扑
我的配置如下所示:
a0
并且a1
是创建日志的源。
dst
是目的地,应该记录日志条目(到 HDFS)。
配置
这是flume shell的节点配置:
问题
当我尝试按照此处所述创建新的水槽流时,出现以下错误:
due to null
日志中没有任何内容,我对此错误无能为力。
flume - 如何使用 flume-node 命令在同一台机器上运行代理节点和收集器节点?
我正在尝试使用 Flume 测试聚合日志。
在 ubuntu 机器上安装了 CDH3u3(名称节点、辅助名称节点、作业跟踪器、数据节点、任务跟踪器)和 Flume(flume、flume-master 和 flume-node)host1
。对于 Flume 安装,我遵循https://ccp.cloudera.com/display/CDHDOC/Flume+Installation。
我想在同一个节点上运行水槽主节点、收集器节点和代理节点。当我使用普通flume
命令时,我可以成功运行所有三个服务:(参考:http ://ankitasblogger.blogspot.com/2011/05/installing-flume-in-cluster-complete.html )
但是,使用以下命令运行两个节点是不可能的flume-node
:
我不能给flume-node
命令一个节点名称,它只是创建一个名为host1.host.com
.
如果我想在同一台机器上使用多个节点,我应该使用flume
而不是吗?我认为并提供更多便利,因为它通知日志路径,同时记录到标准输出。flume-master
flume-node
flume-master
flume-node
flume
flume - 在 Windows 操作系统上安装 Flumes
嗨,我对 Flume 很陌生。我已经安装了flumes 0.9.3版本并且能够在window OS中启动节点。
但要继续前进,我需要一些基本的东西。任何人都可以帮助我完全设置水槽吗?
- 如何设置 Flumes 代理并使用文件共享或服务器日志等任何源进行配置
- 如何设置水槽收集器
- 代理中的接收器如何将文件推送到收集器
- 如何安装flumes master并配置多个代理和收集器
- 如何将水槽收集器与 HDFS 集成。
hbase - Flume 的 hbase() 接收器的理想日志格式是什么?
我使用的日志格式是 JSON,它有 15 个键值对:
以下配置用于 Flume 收集器节点解析日志并存储到 HBase:
我认为有更好的方法可以有效地将这些键值样式日志存储到 HBase。
您为 HBase 接收器选择了哪些日志格式?
将接收器从 更改hbase()
为attr2hbase()
是我要做的,但在此之前,我想获得一些关于更有效的原始日志格式的建议,hbase()
以及attr2hbase()
接收器的提示。
java - 使用 apache httpclient 增量处理 twitter 的流 api?
我正在使用 Apache HTTPClient 4 以默认级别访问连接到 twitter 的流 api。它在开始时运行良好,但在检索数据几分钟后,它会出现以下错误:
我明白为什么我会面临这个问题。我正在尝试在水槽集群中使用这个 HttpClient 作为水槽源。代码如下所示:
我正在尝试将响应流中的 30,000 个字符缓冲到 StringBuffer,然后将其作为接收到的数据返回。我显然没有关闭连接 - 但我想我还不想关闭它。Twitter 的开发指南在这里谈到了这一点,内容如下:
一些 HTTP 客户端库仅在服务器关闭连接后才返回响应正文。这些客户端将无法访问 Streaming API。您必须使用将增量返回响应数据的 HTTP 客户端。大多数健壮的 HTTP 客户端库将提供此功能。例如,Apache HttpClient 将处理这个用例。
它清楚地告诉您 HttpClient 将递增地返回响应数据。我已经浏览了示例和教程,但我还没有找到任何可以做到这一点的东西。如果你们使用过 httpclient(如果不是 apache)并逐渐阅读 twitter 的流式传输 API,请告诉我您是如何实现这一壮举的。那些还没有的人,请随时为答案做出贡献。TIA。
更新
我尝试这样做:1)我将获取流句柄移至水槽源的 open 方法。2)使用简单的输入流并将数据读入字节缓冲区。所以这里是方法体现在的样子:
这在一定程度上有效 - 我收到推文,它们很好地被写入目的地。问题在于 instream.read(buffer) 返回值。即使流上没有数据,并且缓冲区有默认的 \u0000 字节和 30,000 个字节,所以这个值被写入目标。所以目标文件看起来像这样..“ tweets..tweets..tweeets.. \u0000\u0000\u0000\u0000\u0000\u0000\u0000...tweets..tweets...”。我知道计数不会返回 -1 因为这是一个永无止境的流,所以我如何确定缓冲区是否有来自读取命令的新内容?
flume - Flume 使用 tail 从同一个地方继续
最近我们多次尝试使用flume。主要是将数据从我们的前端服务器流式传输到后端服务器以进行处理。它是通过编写本地“日志”文件并使用水槽尾巴来完成的。问题是重新启动水槽节点后,目录中的所有文件都被重新发送。有没有办法有效地管理这个?水槽可以给出一些它完成处理文件的事件吗?它有内置的检查点吗?
如果不是,那么做这样的事情的方法是什么?
syslog - Flume syslogTcp 不输出到控制台
我是水槽的新手,正在阅读水槽用户指南。我在尝试运行此页面上显示的简单 syslogTcp 演示时遇到了问题。
在我运行的一个终端上flume dump 'syslogTcp(5140)'
在我运行的第二个终端上:$ echo "hello via syslog" | nc -t localhost 5140
但是我没有得到控制台的输出(就像我在测试tail或file等其他来源时得到的那样)
水槽看起来运行正常,我可以通过端口 5140 上的 telnet 连接到它,当我运行 lsof 时,我看到了它:
知道如何调试吗?
亚里夫·阿扎奇
PS这是启动flume syslogTcp时的输出:
java - hadoop 水槽 log4j 配置
如果您运行 hadoop flume 节点,默认情况下它会使用 log4j 在 /var/log/flume 下生成日志。这些文件看起来像
根据此处的水槽用户指南,更改水槽日志配置的唯一方法是通过使用 Flume 环境变量运行水槽节点的 flume-daemon.sh,例如:
问题是:
- 如果我想将日志级别从 INFO 更改为 DEBUG,这是唯一的地方吗?
- 有没有我可以做到这一点的配置?
- 如果我想将一些包的日志级别设置为 DEBUG 而其他包保留 INFO 呢?