问题标签 [flume-ng]
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.
hadoop - 在哪里运行写入 HDFS 的水槽代理?
我有 25-20 个代理将数据发送到几个收集器代理,然后这些收集器代理必须将其写入 HDFS。
在哪里运行这些收集器代理?在 Hadoop 集群的 Data 节点上还是在集群外?每种方法的优点/缺点是什么,人们目前如何运行它们?
node.js - Node.js 到 Flume-NG
是否有一个功能项目可以将数据从 Node.js 移动到 Flume-NG,而无需中间文件。
也许我遗漏了一些东西,我认为将数据从 Node.js 移动到 Flume 是一种更常见的需求,但似乎并非如此。
我发现许多项目似乎已经尝试过这个,但似乎都在大约 3 年前被放弃了,并且在当前版本中不起作用。似乎有一些可以与旧版本的flume一起使用,但是随着flume-ng的API发生了很大的变化,它们不再适用。
我找到了 Node.js 的 avro 和 thrift 模块,并且 thrift 现在支持 node.js 似乎表明这应该是直截了当的,但这不起作用,可能没有足够的信息来说明与 Flume 一起使用哪种传输/协议-NG,或者我只是不太了解它。
在我重新发明轮子之前,谁能指出我正确的方向?
这是我拥有的当前节点代码。它生成一个 ECONNREFUSED。
hadoop - Flume-ng hdfs 安全性
我是 hadoop 和 Flume NG 的新手,我需要一些帮助。我不明白 hdfs 安全性是如何实现的。
以下是 Flume 用户指南中的配置行:
# properties of hdfs-Cluster1-sink
agent_foo.sinks.hdfs-Cluster1-sink.type = hdfs
agent_foo.sinks.hdfs-Cluster1-sink.hdfs.path = hdfs://namenode/flume/webdata
这是否意味着任何知道我的 hdfs 路径的人都可以将任何数据写入我的 hdfs?
hadoop - 如何配置 FLUME-NG 根据日志发送者 IP 将日志写入不同的日志文件?
我是 FLUME 的新手。刚开始使用它(flume-ng)。目前我有多个应用程序服务器在不同的服务器上运行。我想收集这些服务器的日志。我在独立的 LINUX 计算机上安装 FLUME。但我不知道如何配置 FLUME 以根据应用程序服务器 IP 地址将日志写入本地文件。或者如何根据我定义的不同类别来写日志?
java - Flume:Avro 事件反序列化器到 Elastic Search
我想获取由 AVRO 反序列化器创建的记录并将其发送到 ElasticSearch。我意识到我必须编写自定义代码才能做到这一点。
使用 LITERAL 选项,我拥有 JSON 模式,这是使用 GenericRecord 的第一步。但是,纵观整个 AVRO Java API,我看不到将 GenericRecord 用于一条记录的方法。所有示例都使用 DataFileReader。
简而言之,我无法从 Flume 事件中获取字段。
有没有人这样做过?TIA。
java - Apache Flume /var/log/flume-ng/flume.log(权限被拒绝)
我正在尝试从 /home/cloudera/Documents/flume/ 读取日志文件,并使用 apache flume 将其写入 hdfs。我使用以下命令在 hdfs 创建 flumeLogTest 文件夹:
我的配置文件是:
我通过以下命令启动了水槽代理:
其中 Documents/flume 是 /home/cloudera/ 中的一个文件夹,该文件夹包含以下文件
- 水槽-conf.properties.template
- log4j.properties
- 水槽-env.sh.template
- 水槽-env.sh
- Example1.conf
我收到以下错误:
我希望我对这个问题很清楚。请帮我解决这个问题。提前致谢。
configuration - Flume 忽略了在flume conf中过滤关键词
我flume
用来导入推特数据。我在我的conf
中添加了以下行:flume
TwitterAgent.sources.Twitter.keywords = hadoop, big data, analytics, bigdata, cloudera, data science, data scientiest, business intelligence, mapreduce, data warehouse, data warehousing, mahout, hbase, nosql, newsql, businessintelligence, cloudcomputing
但flume
忽略这条线!
Flume
始终从 twitter 导入所有数据,未指定并通过我们的关键字过滤。
我怎样才能让过滤工作?
flume - Flume spooldir 获取源文件的文件元数据
我有一个要求,对于每个水槽事件,我必须在 spooldir 目录中添加文件的文件名和文件创建日期。我发现我可以通过设置 fileHeader=true 在事件标题中添加文件名。同样,我还可以通过编写一些自定义拦截器来查找文件创建日期吗?
twitter - Impala 创建外部表,由 Hive 存储
从昨天开始,我一直在试图弄清楚为什么我的表创建不起作用。由于我无法将我的 Impala 链接到我的 Hbase,我无法在我的 twitter 流上进行查询:/
对于 SerDe 属性,我是否需要像 Hive 这样的特殊 JAR?
这是我的命令:
创建外部表 HB_IMPALA_TWEETS(id int、id_str 字符串、文本字符串、created_at 时间戳、geo_latitude double、geo_longitude double、user_screen_name 字符串、user_location 字符串、user_followers_count 字符串、user_profile_image_url 字符串)
由 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 存储
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,tweet:id_str,tweet:text,tweet:created_at,tweet:geo_latitude,tweet:geo_longitude, user:screen_name,user:location,user:followers_count,user:profile_image_url " ) TBLPROPERTIES("hbase.table.name" = "tweets");
但我得到了一个错误:stored by:
查询:create EXTERNAL TABLE HB_IMPALA_TWEETS (id int, id_str string, text string, created_at timestamp, geo_latitude double, geo_longitude double, user_screen_name string, user_location string, user_followers_count string, user_profile_image_url string) 由'org.apache.hadoop.hive.hbase 存储。 HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,tweet:id_str,tweet:text,tweet:created_at,tweet:geo_latitude,tweet:geo_longitude, user:screen_name,user:location,user:followers_count,user :profile_image_url" ) TBLPROPERTIES("hbase.table.name" = "tweets") 错误:AnalysisException:第 1 行中的语法错误:...image_url 字符串)由'org.apache.hadoop.hive.h...存储
遇到:BY
预期:如
引起:异常:语法错误
有关信息,我关注了这个页面: https ://github.com/AronMacDonald/Twitter_Hbase_Impala/blob/master/README.md
谢谢你帮助我:)
java - flume-ng - avro 事件传递可靠性
我正在使用 flume-ng 将应用程序生成的数据聚合到一个中央位置进行处理。生产者将事件发布到本地 HTTP 源,然后通过 Avro 接收器转发给收集器。收集器通过 Avro 源接收来自 Avro 接收器的事件。所有生产者都将事件复制到两个收集器。
我注意到一些与我有关的细微差别,并且我无法通过有关 flume-ng 的文档和周围信息完全理解我的配置的完整影响。Apple 对事件发布与生产者的比较表明并非所有事件都到达收集器。成功交付的事件延迟高于预期。偶尔我们会看到事件在收集器的前门晚了几个小时到达。我们还在下游和上游的 Flume-ng 日志中遇到间歇性异常。
- 在生产者上使用文件通道让我相信我们仍然是持久的,flume-ng最终会在上游获取事件(对吗?)。
- 随着收集器利用内存通道,我们是否将自己暴露在数据丢失中?如果是这样,是否有任何技术可以确定丢失了多少事件,或者至少是它们丢失的频率?
- 收集者的交易能力低于生产者,是否会出现问题?
- 需要保证交付的文件通道的合理检查点间隔是多少?我假设间隔是flume-ng确保事件在本地磁盘上的频率(例如,根据我的配置,我预计在断电时最多1s的数据丢失等)。
下面是每个阶段的 flume-ng 配置的相关片段以及堆栈跟踪片段。想知道是否有人可以根据上述问题(假设有)阐明配置中的差异。
上游异常:
下游异常:
生产者配置:
采集器A配置:
收集器 B 配置: