以分布式模式启动 Kafka 连接时请求超时消息
Request timed out Message while starting Kafka connect in distributed mode
我已经下载了confluent 5.4版本。
而且我有连接器运行在独立模式下效果很好。
wget /usr/local http://packages.confluent.io/archive/5.4/confluent-5.4.0-2.11.tar.gz -P ~/Downloads/
tar -zxvf ~/Downloads/confluent-5.4.0-2.11.tar.gz -C ~/Downloads/
sudo mv ~/Downloads/confluent-5.4.0 /usr/local/
然后我尝试 运行 Kafak 在分布式模式下连接,所以我修改了我的连接-distributed.properties 如下
bootstrap.servers=b-***.eu-west-1.amazonaws.com:9092,b-***.eu-west-1.amazonaws.com:9092,b-***.eu-west-1.amazonaws.com:9092
group.id=connect-cluster
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
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
然后我像下面这样启动我的连接器
/usr/local/confluent/bin/connect-distributed /usr/local/confluent/etc/kafka/connect-distributed.properties
看起来开始成功了[2020-02-02 05:22:33,860] INFO 加入群组并获得任务:
Assignment{error=0, leader='connect-1-c99d50a9-faf0-4b15-8a3d-3add55b7e206', leaderUrl='http://10.97.49.217:8083/', offset=-1, connectorIds=[], taskIds=[]} (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1216)
[2020-02-02 05:22:33,861] INFO Starting connectors and tasks using config offset -1 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:850)
[2020-02-02 05:22:33,861] INFO Finished starting connectors and tasks (org.apache.kafka.connect.runtime.distributed.DistributedHerder:860)
最后我使用 curl 命令创建我的接收器连接器。
curl -X POST -H "Content-Type: application/json" --data '{"name":"elastic-search-sink-audit","config":{"connector.class":"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector","tasks.max":"2","topics":"fsp-AUDIT_EVENT_DEMO","key.ignore":"true","connection.url":"https://**.amazonaws.com","type.name":"kafka-connect","name":"elastic-search-sink-audit","errors.tolerance":"all","errors.deadletterqueue.topic.name":"fsp-dlq-audit-event"}}' http://localhost:8083/connectors | jq
并使用 EC2 IP 地址
curl -X POST -H "Content-Type: application/json" --data '{"name":"elastic-search-sink-audit-distributed","config":{"connector.class":"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector","tasks.max":"2","topics":"audit_event_distributed","key.ignore":"true","connection.url":"https://***.us-east-1.es.amazonaws.com","type.name":"kafka-connect","name":"elastic-search-sink-audit-distributed","errors.tolerance":"all","errors.deadletterqueue.topic.name":"dlq_distributed"}}' http://10.67.39.217:8083/connectors | jq
在 运行1 分钟后执行此命令后,我得到以下响应
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 498 0 48 100 450 0 4 0:01:52 0:01:30 0:00:22 10
{
"error_code": 500,
"message": "Request timed out"
}
然后我继续得到这个,但这只是警告,因为我的主题中有足够的副本
NOT_ENOUGH_REPLICAS (org.apache.kafka.clients.producer.internals.Sender:598)
^C[2020-02-03 08:05:54,890] WARN [Producer clientId=producer-3] Got error produce response with correlation id 7185 on topic-partition connect-configs-0, retrying (2147476495 attempts left). Error: NOT_ENOUGH_REPLICAS (org.apache.kafka.clients.producer.internals.Sender:598)
^C[2020-02-03 08:05:54,991] WARN [Producer clientId=producer-3] Got error produce response with correlation id 7186 on topic-partition connect-configs-0, retrying (2147476494 attempts left). Error: NOT_ENOUGH_REPLICAS (org.apache.kafka.clients.producer.internals.Sender:598)
当我描述我的话题时
Topic:fsp-AUDIT_EVENT_DEMO PartitionCount:1 ReplicationFactor:3 Configs:
Topic: fsp-AUDIT_EVENT_DEMO Partition: 0 Leader: 1 Replicas: 1,6,2 Isr: 1,6,2
所以我的主题有足够的副本。
更新
描述
的结果
Topic:connect-configs PartitionCount:1 ReplicationFactor:1 Configs:cleanup.policy=compact
Topic: connect-configs Partition: 0 Leader: 6 Replicas: 6 Isr: 6
Topic:connect-status PartitionCount:5 ReplicationFactor:1 Configs:cleanup.policy=compact
Topic: connect-status Partition: 0 Leader: 6 Replicas: 6 Isr: 6
Topic: connect-status Partition: 1 Leader: 1 Replicas: 1 Isr: 1
Topic: connect-status Partition: 2 Leader: 2 Replicas: 2 Isr: 2
Topic: connect-status Partition: 3 Leader: 4 Replicas: 4 Isr: 4
Topic: connect-status Partition: 4 Leader: 5 Replicas: 5 Isr: 5
Topic:connect-offsets PartitionCount:25 ReplicationFactor:1 Configs:cleanup.policy=compact
请帮我解决这个问题。
all three topic is created by kafka connect connect-offsets connect-configs connect-status
确实是
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
config.storage.topic=connect-configs
config.storage.replication.factor=1
status.storage.topic=connect-status
status.storage.replication.factor=1
Do you suggest I change that ?
不是名字,而是复制因子,是的。 1个副本意味着如果任何一个broker挂了,那么topic基本上就下线了
Also where are you looking for broker id ?
来自主题描述的第 3-5 列
我已经下载了confluent 5.4版本。
而且我有连接器运行在独立模式下效果很好。
wget /usr/local http://packages.confluent.io/archive/5.4/confluent-5.4.0-2.11.tar.gz -P ~/Downloads/
tar -zxvf ~/Downloads/confluent-5.4.0-2.11.tar.gz -C ~/Downloads/
sudo mv ~/Downloads/confluent-5.4.0 /usr/local/
然后我尝试 运行 Kafak 在分布式模式下连接,所以我修改了我的连接-distributed.properties 如下
bootstrap.servers=b-***.eu-west-1.amazonaws.com:9092,b-***.eu-west-1.amazonaws.com:9092,b-***.eu-west-1.amazonaws.com:9092
group.id=connect-cluster
key.converter=org.apache.kafka.connect.storage.StringConverter
value.converter=org.apache.kafka.connect.storage.StringConverter
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
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
然后我像下面这样启动我的连接器
/usr/local/confluent/bin/connect-distributed /usr/local/confluent/etc/kafka/connect-distributed.properties
看起来开始成功了[2020-02-02 05:22:33,860] INFO 加入群组并获得任务:
Assignment{error=0, leader='connect-1-c99d50a9-faf0-4b15-8a3d-3add55b7e206', leaderUrl='http://10.97.49.217:8083/', offset=-1, connectorIds=[], taskIds=[]} (org.apache.kafka.connect.runtime.distributed.DistributedHerder:1216)
[2020-02-02 05:22:33,861] INFO Starting connectors and tasks using config offset -1 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:850)
[2020-02-02 05:22:33,861] INFO Finished starting connectors and tasks (org.apache.kafka.connect.runtime.distributed.DistributedHerder:860)
最后我使用 curl 命令创建我的接收器连接器。
curl -X POST -H "Content-Type: application/json" --data '{"name":"elastic-search-sink-audit","config":{"connector.class":"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector","tasks.max":"2","topics":"fsp-AUDIT_EVENT_DEMO","key.ignore":"true","connection.url":"https://**.amazonaws.com","type.name":"kafka-connect","name":"elastic-search-sink-audit","errors.tolerance":"all","errors.deadletterqueue.topic.name":"fsp-dlq-audit-event"}}' http://localhost:8083/connectors | jq
并使用 EC2 IP 地址
curl -X POST -H "Content-Type: application/json" --data '{"name":"elastic-search-sink-audit-distributed","config":{"connector.class":"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector","tasks.max":"2","topics":"audit_event_distributed","key.ignore":"true","connection.url":"https://***.us-east-1.es.amazonaws.com","type.name":"kafka-connect","name":"elastic-search-sink-audit-distributed","errors.tolerance":"all","errors.deadletterqueue.topic.name":"dlq_distributed"}}' http://10.67.39.217:8083/connectors | jq
在 运行1 分钟后执行此命令后,我得到以下响应
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 498 0 48 100 450 0 4 0:01:52 0:01:30 0:00:22 10
{
"error_code": 500,
"message": "Request timed out"
}
然后我继续得到这个,但这只是警告,因为我的主题中有足够的副本
NOT_ENOUGH_REPLICAS (org.apache.kafka.clients.producer.internals.Sender:598)
^C[2020-02-03 08:05:54,890] WARN [Producer clientId=producer-3] Got error produce response with correlation id 7185 on topic-partition connect-configs-0, retrying (2147476495 attempts left). Error: NOT_ENOUGH_REPLICAS (org.apache.kafka.clients.producer.internals.Sender:598)
^C[2020-02-03 08:05:54,991] WARN [Producer clientId=producer-3] Got error produce response with correlation id 7186 on topic-partition connect-configs-0, retrying (2147476494 attempts left). Error: NOT_ENOUGH_REPLICAS (org.apache.kafka.clients.producer.internals.Sender:598)
当我描述我的话题时
Topic:fsp-AUDIT_EVENT_DEMO PartitionCount:1 ReplicationFactor:3 Configs:
Topic: fsp-AUDIT_EVENT_DEMO Partition: 0 Leader: 1 Replicas: 1,6,2 Isr: 1,6,2
所以我的主题有足够的副本。
更新
描述
的结果Topic:connect-configs PartitionCount:1 ReplicationFactor:1 Configs:cleanup.policy=compact
Topic: connect-configs Partition: 0 Leader: 6 Replicas: 6 Isr: 6
Topic:connect-status PartitionCount:5 ReplicationFactor:1 Configs:cleanup.policy=compact
Topic: connect-status Partition: 0 Leader: 6 Replicas: 6 Isr: 6
Topic: connect-status Partition: 1 Leader: 1 Replicas: 1 Isr: 1
Topic: connect-status Partition: 2 Leader: 2 Replicas: 2 Isr: 2
Topic: connect-status Partition: 3 Leader: 4 Replicas: 4 Isr: 4
Topic: connect-status Partition: 4 Leader: 5 Replicas: 5 Isr: 5
Topic:connect-offsets PartitionCount:25 ReplicationFactor:1 Configs:cleanup.policy=compact
请帮我解决这个问题。
all three topic is created by kafka connect connect-offsets connect-configs connect-status
确实是
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
config.storage.topic=connect-configs
config.storage.replication.factor=1
status.storage.topic=connect-status
status.storage.replication.factor=1
Do you suggest I change that ?
不是名字,而是复制因子,是的。 1个副本意味着如果任何一个broker挂了,那么topic基本上就下线了
Also where are you looking for broker id ?
来自主题描述的第 3-5 列