Устранение неполадок в распределительном режиме с помощью разъема HDFS - PullRequest
1 голос
/ 16 мая 2019

Керберизованный кластер Hadoop. Connect-Instance запущен на пограничном узле. В автономном режиме все работает как положено. В распределенном режиме соединитель добавляется на основе журналов, но после проверки с помощью вызова REST соединители не возвращаются вообще, и данные из раздела Kafka не записываются в HDFS.

2019-05-16T12:22:53.657 TRACE xxx connector dev Submitting connector config write request xxx_connector_test_topic_2 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:529)
2019-05-16T12:22:53.661 TRACE xxx connector dev Retrieving loaded class 'io.confluent.connect.hdfs.HdfsSinkConnector' from 'PluginClassLoader{pluginLocation=file:/data/home/u_rw_xxx/kafka-connect/confluent-4.1.1/share/java/kafka-connect-hdfs/}' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:325)
2019-05-16T12:22:53.661 DEBUG xxx connector dev Getting plugin class loader for connector: 'io.confluent.connect.hdfs.HdfsSinkConnector' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:107)
2019-05-16T12:22:53.665 TRACE xxx connector dev Class 'org.apache.kafka.connect.storage.StringConverter' not found. Delegating to parent (org.apache.kafka.connect.runtime.isolation.PluginClassLoader:100)
2019-05-16T12:22:53.666 TRACE xxx connector dev Retrieving loaded class 'org.apache.kafka.connect.storage.StringConverter' from 'sun.misc.Launcher$AppClassLoader@764c12b6' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:325)
2019-05-16T12:22:53.696 TRACE xxx connector dev Handling connector config request xxx_connector_test_topic_2 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:538)
2019-05-16T12:22:53.697 TRACE xxx connector dev Submitting connector config xxx_connector_test_topic_2 false [] (org.apache.kafka.connect.runtime.distributed.DistributedHerder:550)
2019-05-16T12:22:53.697 DEBUG xxx connector dev Writing connector configuration {connector.class=io.confluent.connect.hdfs.HdfsSinkConnector, tasks.max=1, topics=xxx_test_topic_2, hadoop.conf.dir=/usr/hdp/current/hadoop-client/conf/, hdfs.url=/dev/src/xxx/kk/land/test/, hdfs.authentication.kerberos=true, connect.hdfs.principal=u_rw_xxx@XXXHDP1.YYYY.ZZ, connect.hdfs.keytab=/data/home/u_rw_xxx/u_rw_xxx.keytab, hdfs.namenode.principal=nn/_HOST@XXXHDP1.YYYY.ZZ, hive.integration=false, hive.database=dev_src_xxx_data, partitioner.class=io.confluent.connect.hdfs.partitioner.TimeBasedPartitioner, format.class=io.confluent.connect.hdfs.json.JsonFormat, key.converter=org.apache.kafka.connect.storage.StringConverter, key.converter.schemas.enable=false, value.converter=org.apache.kafka.connect.storage.StringConverter, value.converter.schemas.enable=false, flush.size=100, rotate.interval.ms=60000, partition.duration.ms=300000, path.format='day'=YYYYMMdd, locale=DE, timezone=UTC, name=xxx_connector_test_topic_2} for connector xxx_connector_test_topic_2 configuration (org.apache.kafka.connect.storage.KafkaConfigBackingStore:294)
2019-05-16T12:22:53.993 INFO xxx connector dev 127.0.0.1 - - [16/May/2019:10:22:53 +0000] "POST /connectors/ HTTP/1.1" 201 1092  469 (org.apache.kafka.connect.runtime.rest.RestServer:60)

Поскольку вызов REST для списка соединителей не извлекает никаких соединителей, я предполагаю, что его создание не удалось. Для этого я бы ожидал либо какое-нибудь сообщение об ошибке, либо хотя бы какое-то предупреждение.

Однако добавление этого соединителя через REST API происходит автоматически, очень похоже на эту проблему Конфлюэнт CLI .

Приветствуются любые идеи по дальнейшему устранению неисправностей. Заранее спасибо!

П.С .:

Как показано в журнале, используя версию коннектора Confluent 4.1.1, с классом JSONFormat , который, как ожидается, будет записан в HDFS с использованием StringConverter.

...