Apache kafka 无法在分布式模式下启动Kafka connect进行弹性搜索

Apache kafka 无法在分布式模式下启动Kafka connect进行弹性搜索,apache-kafka,apache-kafka-connect,aws-msk,Apache Kafka,Apache Kafka Connect,Aws Msk,我试图在分布式模式下启动Kafka connect,即使是在独立模式下,我也无法继续 这是我的弹性搜索水槽 name=elasticsearch-sink connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector tasks.max=5 topics=fsp-audit key.ignore=true connection.url=https://****.amazonaws.com type.na

我试图在分布式模式下启动Kafka connect,即使是在独立模式下,我也无法继续

这是我的弹性搜索水槽

name=elasticsearch-sink
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=5
topics=fsp-audit
key.ignore=true
connection.url=https://****.amazonaws.com
type.name=kafka-connect
errors.tolerance = all
errors.deadletterqueue.topic.name = fsp-dlq-audit-event
这是我的connect-distributed.properties

bootstrap.servers=***:9092,***:9092,***:9092
group.id=connect-cluster
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter.schemas.enable=false
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
schema.enabled=false
config.storage.topic=connect-configs
config.storage.replication.factor=1
status.storage.topic=connect-status
status.storage.replication.factor=1
offset.flush.interval.ms=10000
plugin.path=/usr/local/confluent/share/java
我还预先创建了三个topi

connect-offsets
connect-configs
connect-status
我在EC2上运行这个,并使用MSK作为卡夫卡。 我检查了从EC2到MSK的连接,我可以远程登录

我得到这个错误

[2020-01-30 08:53:12,126] INFO [AdminClient clientId=adminclient-1] Metadata update failed (org.apache.kafka.clients.admin.internals.AdminMetadataManager:237)
org.apache.kafka.common.errors.TimeoutException: Timed out waiting to send the call.
[2020-01-30 08:53:12,145] INFO [AdminClient clientId=adminclient-1] Metadata update failed (org.apache.kafka.clients.admin.internals.AdminMetadataManager:237)
org.apache.kafka.common.errors.TimeoutException: Timed out waiting to send the call.
[2020-01-30 08:53:12,149] ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectDistributed:83)
org.apache.kafka.connect.errors.ConnectException: Failed to connect to and describe Kafka cluster. Check worker's broker connection and security properties.
        at org.apache.kafka.connect.util.ConnectUtils.lookupKafkaClusterId(ConnectUtils.java:64)
        at org.apache.kafka.connect.util.ConnectUtils.lookupKafkaClusterId(ConnectUtils.java:45)
        at org.apache.kafka.connect.cli.ConnectDistributed.startConnect(ConnectDistributed.java:94)
        at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:77)
Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
        at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
        at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
        at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
        at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
        at org.apache.kafka.connect.util.ConnectUtils.lookupKafkaClusterId(ConnectUtils.java:58)
问题:如果我必须在分布式模式下运行Kafka connect,我是否必须使用多个EC2/vm

如果我必须在分布式模式下运行Kafka connect,我是否必须使用多个EC2/vm


不,您可以运行一个psuedo分布式实例。独立和分布式之间的主要区别在于它如何处理偏移量和配置的存储

好的,在查看更多详细信息后,我发现问题出在NACL中,它阻塞了几个子网ip地址

因此,我检查了MSK端安全组/网络ACL/路由表,发现它们没有问题。这意味着问题可能与EC2实例有关,因此我检查了该实例的安全组/路由表,发现它们配置正确

但是,在检查EC2实例附带的网络ACL ACL-***时,我发现有一个入站规则允许临时端口使用0.0.0.0/0,这应该允许代理与EC2实例对话。但是,查看出站规则,我看到它只允许存在b-2的子网范围,但没有任何明确的出站规则允许b-3 10.*.*.0/24或b-4 10.*.*.0/24子网范围。
当我添加新规则时,我能够ping并成功连接

Hi MSK确实提供纯文本地址。当我们单击MSK ui中的“查看客户端信息”时..我们可以看到..可能是较早时此选项不可用。但我现在可以看到您确定它不是纯文本SASL吗?如果没有认证层,我会很震惊。您是否将MSK和EC2盒添加到同一VPC?是的,我确定..我觉得NACL级别的内部问题存在一些连接问题..但感谢您解释分布式模式..第一次尝试时有点困惑。我已在同一子网中使用所有相同的设置创建了EC2,并且我能够启动连接器..但记录不会消失在弹性搜索中,我也没有得到任何错误。我得到类似这样的[2020-01-31 06:08:23268]信息[Worker clientId=connect-1,groupId=connect cluster]已完成启动连接器和任务org.apache.kafka.connect.runtime.distributed.DistributedHerder:1125[2020-01-31 06:08:23330]信息[Worker clientId=connect-1,groupId=connect cluster]会话密钥更新org.apache.kafka.connect.runtime.distributed.distributed Herder:1438默认情况下,connect读取主题的最新偏移量,因此发送一些数据