【问题标题】:S3 path error with Flume HDFS SinkFlume HDFS Sink 的 S3 路径错误
【发布时间】:2012-09-26 04:35:32
【问题描述】:

我有一个 Flume 整合器,它将每个条目写入 AWS 上的 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:SECRET@BUCKET/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

【问题讨论】:

    标签: amazon-s3 flume


    【解决方案1】:

    Flume NG HDFS 接收器没有为 S3 支持实现任何特殊功能。 Hadoop 有一些对 S3 的内置支持,但我不知道有谁在积极致力于它。据我所知,它有点过时了,并且在失败时可能会出现一些耐久性问题。

    也就是说,我知道有人使用它,因为它“足够好”。

    您是说“//xyz”(带有多个相邻的斜杠)是 S3 上的有效路径名吗?您可能知道,大多数 Unix 会折叠相邻的斜线。

    【讨论】:

    • 是的,“//xyz”是 S3 上的有效路径。但是看看这个日志条目:[DEBUG - org.jets3t.service.impl.rest.httpclient.RestS3Service.setupConnection(RestS3Service.java:811)] S3 URL:BUCKET.s3.amazonaws.com:443/%2F
    • 解决了!将 *.hdfs.path 从 s3:// 更改为 s3n:// 并且效果很好!
    • 不错!感谢您发布解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    相关资源
    最近更新 更多