We're still working on getting our POC of Flume up and running... right now we 
have log events that pass through our Flume nodes via a Syslog input and are 
happily sent off to ElasticSearch for indexing. We're also sending these events 
to S3, but we're finding that they seem to be unreadable with the avro tools.

> # S3 Output Sink
> agent.sinks.s3.type = hdfs
> agent.sinks.s3.channel = fc1
> agent.sinks.s3.hdfs.path = s3n://XXX:XXX@our_bucket/flume/events/%y-%m-%d/%H
> agent.sinks.s3.hdfs.rollInterval = 600
> agent.sinks.s3.hdfs.rollSize = 0
> agent.sinks.s3.hdfs.rollCount = 10000
> agent.sinks.s3.hdfs.batchSize = 10000
> agent.sinks.s3.hdfs.serializer = avro_event
> agent.sinks.s3.hdfs.fileType = SequenceFile
> agent.sinks.s3.hdfs.timeZone = UTC


When we try to look at the avro-serialized files, we get this error:

> [localhost avro]$ java -jar avro-tools-1.7.4.jar getschema 
> FlumeData.1367857371493
> Exception in thread "main" java.io.IOException: Not a data file.
>         at 
> org.apache.avro.file.DataFileStream.initialize(DataFileStream.java:105)
>         at org.apache.avro.file.DataFileReader.<init>(DataFileReader.java:97)
>         at org.apache.avro.file.DataFileReader.<init>(DataFileReader.java:89)
>         at 
> org.apache.avro.tool.DataFileGetSchemaTool.run(DataFileGetSchemaTool.java:48)
>         at org.apache.avro.tool.Main.run(Main.java:80)
>         at org.apache.avro.tool.Main.main(Main.java:69)

At this point we're a bit unclear how we're supposed to use these FlumeData 
files with normal Avro tools?

--Matt

Reply via email to