Невозможно запустить соединитель приемника s3 для сохранения данных kafka на Minio - PullRequest
0 голосов
/ 06 мая 2020

У меня есть кластер Kubernetes, работающий с minikube, внутри кластера работает один модуль kafka, один модуль zookeeper и мини-модуль, каждый с его сервисом. Все выглядит правильно. У меня есть сгенерированный minio topi c с именем minio-topi c, работающий над kafka, а у minio есть одно ведро с именем kafka-bucket, я попытался запустить s3 -ink-connector со следующими свойствами:

name=s3-sink
connector.class=io.confluent.connect.s3.S3SinkConnector
tasks.max=1
topics=minio_topic
s3.region=us-east-1
s3.bucket.name=kafka-bucket
s3.part.size=5242880
flush.size=3
store.url=http://l27.0.0.1:9000/
storage.class=io.confluent.connect.s3.storage.S3Storage
#format.class=io.confluent.connect.s3.format.avro.AvroFormat
schema.generator.class=io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator
format.class=io.confluent.connect.s3.format.json.JsonFormat
partitioner.class=io.confluent.connect.storage.partitioner.DefaultPartitioner

schema.compatibility=NONE

После запуска коннектора я получаю эту ошибку

[2020-05-06 18:00:46,238] ERROR WorkerSinkTask{id=s3-sink-0} Task threw an uncaught and unrecoverable 
exception (org.apache.kafka.connect.runtime.WorkerTask:179)
org.apache.kafka.connect.errors.ConnectException: java.lang.reflect.InvocationTargetException
    at io.confluent.connect.storage.StorageFactory.createStorage(StorageFactory.java:55)
    at io.confluent.connect.s3.S3SinkTask.start(S3SinkTask.java:99)
    at org.apache.kafka.connect.runtime.WorkerSinkTask.initializeAndStart(WorkerSinkTask.java:301)
    at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:189)
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:177)
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:227)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at io.confluent.connect.storage.StorageFactory.createStorage(StorageFactory.java:50)
    ... 10 more
Caused by: java.lang.IllegalArgumentException: hostname cannot be null
    at com.amazonaws.util.AwsHostNameUtils.parseRegion(AwsHostNameUtils.java:79)
    at com.amazonaws.util.AwsHostNameUtils.parseRegionName(AwsHostNameUtils.java:59)
    at com.amazonaws.AmazonWebServiceClient.computeSignerByURI(AmazonWebServiceClient.java:277)
    at com.amazonaws.AmazonWebServiceClient.setEndpoint(AmazonWebServiceClient.java:229)
    at com.amazonaws.services.s3.AmazonS3Client.setEndpoint(AmazonS3Client.java:688)
    at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:362)
    at 
com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:337)
    at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:38)
    at io.confluent.connect.s3.storage.S3Storage.newS3Client(S3Storage.java:96)
    at io.confluent.connect.s3.storage.S3Storage.<init>(S3Storage.java:65)
    ... 15 more

Учетные данные четко определены в .aws / credentials. Кто-нибудь знает, в чем может быть ошибка в конфигурации?

1 Ответ

0 голосов
/ 06 мая 2020

hostname cannot be null at com.amazonaws.util.AwsHostNameUtils.parseRegion

Я предлагаю вам прочитать блог Minio о правильной настройке store.url, а также проверить, в каком регионе ваш кластер Minio считает, что он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...