我在其仅节点(测试)模式下使用水槽; 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
水槽重启后,当通过相关交换和队列发送内容时,水槽日志中会出现以下行:
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
答案 0 :(得分:1)
你不会相信......
Flume无法使用包含'/'的亚马逊密钥进行管理 我使用的密钥包含一个。 然后Flume认出了它,并没有要求亚马逊。
解决方案: 更改亚马逊密钥,直到您没有'/'