2012-09-25 43 views
2

我有一個Flume整合器,它將AWS上的S3存儲桶中的每個條目寫入。使用Flume HDFS接收器的S3路徑錯誤

問題出在目錄路徑上。

這些事件應該寫在/ flume/events /%y-%m-%d /%H%M上,但它們在// flume/events /%y-%m-%d /%H%M。

Flume似乎在開始處追加了一個「/」。

這個問題的任何想法?這是我的路徑配置問題嗎?

master.sources = source1 
master.sinks = sink1 
master.channels = channel1 

master.sources.source1.type = netcat 
# master.sources.source1.type = avro 
master.sources.source1.bind = 0.0.0.0 
master.sources.source1.port = 4555 

master.sources.source1.interceptors = inter1 
master.sources.source1.interceptors.inter1.type = timestamp 

master.sinks.sink1.type = hdfs 
master.sinks.sink1.hdfs.path = s3://KEY:[email protected]/flume/events/%y-%m-%d/%H%M 
master.sinks.sink1.hdfs.filePrefix = event 
master.sinks.sink1.hdfs.round = true 
master.sinks.sink1.hdfs.roundValue = 5 
master.sinks.sink1.hdfs.roundUnit = minute 

master.channels.channel1.type = memory 
master.channels.channel1.capacity = 1000 
master.channels.channel1.transactionCapactiy = 100 

master.sources.source1.channels = channel1 
master.sinks.sink1.channel = channel1 

回答

0

Flume NG HDFS接收器沒有實現任何特殊的S3支持。 Hadoop對S3有一些內置的支持,但是我不知道有人正在爲此工作。從我所聽到的情況來看,它已經有些過時了,可能會有一些失敗的耐久性問題。

這就是說,我知道使用它的人,因爲它「足夠好」。

你是說「// xyz」(有多個相鄰的斜線)是S3上的有效路徑名嗎?正如你可能知道的那樣,大多數Unix都會壓縮相鄰的斜線。

+0

是的,「// xyz」是S3上的有效路徑。但看看這個日誌條目:[DEBUG - org.jets3t.service.impl.rest.httpclient.RestS3Service.setupConnection(RestS3Service.java:811)] S3 URL:https://BUCKET.s3.amazonaws.com:443/ %2F –

+3

解決!將* .hdfs.path從s3://更改爲s3n://,它完美地工作! –

+0

不錯!感謝您發佈解決方案。 –

相關問題