Flume не может получить доступ к s3 для записи файла java.lang.IllegalArgumentException: неверное имя хоста в URI s3: // ACCESSKEY: SECRETKEY / @ bucket - PullRequest
0 голосов
/ 28 мая 2019

Flume устанавливается на Amazon EC2 (Amazon Linux AMI 2018.03.0.20190514 x86_64 HVM gp2) Версия Flume: 1.9

Я пытаюсь использовать локальный в качестве приемника, копия работает отлично. Но когда я использую S3 в качестве приемника, я сталкиваюсь с неверным именем хоста в проблеме URI. Я дважды проверил свой ключ доступа и секретный ключ, все они верны.

Я пытался использовать s3n: // он не работал

# example.conf: A single-node Flume configuration

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource
a1.sources.r1.kafka.bootstrap.servers = localhost:9092
a1.sources.r1.kafka.topics = testflume
a1.sources.r1.kafka.consumer.group.id = flumeconsumer


a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = s3://AWSACCESSKEY:AWSSECRETKEY@bucket/path
a1.sinks.k1.hdfs.fileType = DataStream
a1.sinks.k1.hdfs.filePrefix = event
a1.sinks.k1.hdfs.rollInterval = 10


# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 1000

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

Ошибка

[ERROR - org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:459)] process failed
java.lang.IllegalArgumentException: Invalid hostname in URI s3://AWSACCESSKEY:AWSSECRETKEY@bucket/path/event.1558997927667.tmp

Я ожидаю, что flume успешно пройдет аутентификацию в S3 и запишет файлы

...