0

我在其仅节点(测试)模式下使用水槽;Flume 从 RabbitMQ 拉取消息并将其放入 Amazon S3 存储桶。

问题:

Flume 实际上是从 RabbitMQ 中提取的,但文件不会出现在 S3 存储桶中。

技术细节:

我以以下方式启动水槽:

flume node -1 -c $FQDN':amqp("exchangeName=[exchange name]", "bindings=[binding name]", "host=127.0.0.1", "port=5672", "userName=[user]", "password=[pass]", "exchangeType=direct", "durableExchange=false", "queueName=[queue name]", "durableQueue=true", "exclusiveQueue=false", "autoDeleteQueue=false", "useMessageTimestamp=true")|collectorSink("s3n://[Amazon key]:[Amazon secret]@[path at S3]","server");' -s "$@" > "$log" 2>&1

水槽日志:

在flume重启后,当通过相关的exchange和queue发送东西时,flume log中会出现以下几行:

INFO com.cloudera.flume.handlers.hdfs.EscapedCustomDfsSink: Opening s3n://[key]:[secret]@[path at S3]

WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

WARN org.apache.hadoop.io.compress.snappy.LoadSnappy: Snappy native library not loaded
4

1 回答 1

1

你不会相信的...

Flume 无法使用包含“/”的 Amazon 密钥进行管理,我使用的密钥包含一个。然后 Flume 认出了它,只是没有调用亚马逊。

解决方案:更改亚马逊密钥,直到你得到一个没有'/'的密钥

于 2012-08-19T13:48:08.327 回答