我有2个CDH4集群。一个是CentOS6.4(真实硬件),另一个是Ubuntu12.04(AmazonEC2)。所有配置文件都是手动制作的(使用Cloudera管理器)。我尝试开始Cloudera-twitter-example.当我在CentOS集群上启动flume时,它可以正常工作。但是在Ubuntu集群上,Flume在日志文件中给出了这样的错误:2013-09-1115:04:54,491INFOorg.apache.flume.instrumentation.MonitoredCounterGroup:Componenttype:SINK,name:HDFSstarted
我正在尝试使用flume从Twitter检索数据并以JSON格式存储到hdfs。数据正在加载到HDFS。但不是JSON格式。我附上从Twitter存储的HDFS文件中的几行:Objavro.schema\E4{"type":"record","name":"Doc","doc":"adoc","fields":[{"name":"id","type":"string"},{"name":"user_friends_count","type":["int","null"]},{"name":"user_location","type":["string","null"]},{"name"
我是flume和hadoop的新手。我有一个疑惑:不配置hadoop能不能用flume?任何人都可以分享他们的知识吗? 最佳答案 是的,Flume可以完全独立于hadoop工作。但是它确实对HDFS有一些包依赖性。如果你不打算使用HDFS接收器,你可以在没有Hadoop的情况下使用它 关于没有hadoop的ApacheFlume,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/26
我是Flume和Hadoop的新手,所以我正在尝试设置最简单(但有点帮助/现实)的示例。我正在使用HortonWorksSandbox在VM客户端中。在遵循一个教程12(涉及设置和使用Flume)之后,一切似乎都在正常工作。所以我设置了自己的flume.conf读取apache访问日志使用内存channel写入HDFS很简单吧?这是我的配置文件agent.sources=exec-sourceagent.sinks=hdfs-sinkagent.channels=ch1agent.sources.exec-source.type=execagent.sources.exec-sourc
我正在学习Hadoop,并且在将数据从关系数据库转移到Hadoop以及从关系数据库转移到Hadoop时坚持了一些概念,反之亦然。我已经使用SQOOP导入查询将文件从MySQL传输到HDFS。我传输的文件是结构化数据集,而不是任何服务器日志数据。我最近读到我们通常使用水槽将日志文件移动到Hadoop中,我的问题是:1.我们是否也可以使用SQOOP来移动日志文件?2.如果是,SQOOP和FLUME哪个更适合用于日志文件?为什么? 最佳答案 1)Sqoop可用于在任何rdbms和hdfs之间传输数据。要使用scoop,数据必须结构化,通常
如何使用flume连续读取mysql加载到hbase?我熟悉sqoop,但我需要从mysql源不断地做它。是否需要自定义源才能执行此操作? 最佳答案 Sqoop适用于从RDBMS批量导入HDFS/Hive/HBase。如果它只是一次导入,那很好,它实现了它在纸面上的promise。但是当你想要实时增量更新时,问题就来了。Sqoop支持的两种增量更新之间:Append,这个允许你重新运行sqoop作业,每个新作业都从上一个旧作业结束的地方开始。例如。第一个sqoop作业只导入行0-100,然后下一个作业将基于--last-value=
我有一个用例,我需要将文件从目录提取到HDFS。作为POC,我在Flume中使用了简单的目录假脱机,我在其中指定了源、接收器和channel,它工作正常。缺点是我必须为进入不同文件夹的多种文件类型维护多个目录,以便更好地控制文件大小和其他参数,同时使配置重复,但很容易。作为替代方案,有人建议我使用正则表达式拦截器,其中多个文件将驻留在单个目录中,并根据文件中的字符串路由到HDFS中的特定目录。我期望的文件类型是CSV文件,其中第一行是标题,后续行是逗号分隔值。考虑到这一点,我有几个问题。拦截器如何处理文件?假定CSV中的标题行类似于ID,Name,下一行是ID和名称,同一目录中的另一个
我有一个写入日志文件的http服务器,然后我使用Flume将其加载到HDFS首先,我想根据标题或正文中的数据过滤数据。我读到我可以使用带有正则表达式的拦截器来做到这一点,有人可以准确解释我需要做什么吗?我是否需要编写覆盖Flume代码的Java代码?我还想获取数据并根据header将其发送到不同的接收器(即source=1转到sink1,source=2转到sink2)这是怎么做到的?谢谢你,西蒙 最佳答案 您不需要编写Java代码来过滤事件。使用RegexFilteringInterceptor过滤正文匹配某些正则表达式的事件:a
我是大数据的新手。来自What'sthedifferencebetweenFlumeandSqoop?的一些答案,Flume和Sqoop都可以从源中拉取数据并推送到Hadoop。任何人都可以指定使用flume和sqoop的确切位置吗?两者都可以用于相同的任务吗? 最佳答案 Flume和Sqoop两者都设计用于处理不同类型的数据源。Sqoop可与任何支持JDBC连接的RDBMS系统一起使用。另一方面,Flume可以很好地处理流式数据源,例如在您的环境中不断生成的日志数据。具体来说,Sqoop可用于将数据导入/导出RDBMS系统,例如O
我在Flume的一本书上看到,如果在拦截器的intercept方法中有一个事件返回为null,这个事件就会被丢弃。因此,我创建了一个自定义拦截器,它根据条件将事件返回为null,例如:publicEventintercept(Eventevent){//TODOAuto-generatedmethodstubEventfinalEvent=event;check=newString(event.getBody(),Charsets.UTF_8);if(check.matches("([0-9]-.+?-.+?-[0-9][0-9]+)")){try{fileWriter.append(