У меня есть трехузловой кластер Confluent Kafka. На каждом узле запущены Zookeeper, Kafka Broker, Schema-Registry и Kafka Connect.
Я настроил приемник S3. Кажется, он работает, но worker_id
настроен на IP-адрес обратной связи, а не на уникальный IP-адрес, что выглядит неправильно:
curl "localhost:8083/connectors/my-s3-sink/status" | jq '.'
{
"name": "my-s3-sink",
"connector": {
"state": "RUNNING",
"worker_id": "127.0.1.1:8083"
},
"tasks": [
{
"state": "RUNNING",
"id": 0,
"worker_id": "127.0.1.1:8083"
}
],
"type": "sink"
}
Как Kafka Connect получает адрес 127.0.1.1:8083
loopback? Я предполагаю, что это не правильно для производственного кластера с тремя узлами.
Как проверить конфигурацию кластера, чтобы найти проблему?
Я запускаю Kafka Connect через systemd через /usr/bin/connect-distributed /etc/kafka/connect-distributed.properties
и bootstrap.servers
, в этом файле свойств заданы IP-адреса трех узлов, которые не преобразуются в IP-шлейф. (Я x
из фактических значений IP для конфиденциальности)
bootstrap.servers=172.x.x.x:9092,172.x.x.x:9092,172.x.x.x:9092
Мои брокеры Kafka настроены на /etc/kafka/server.properties
настройки:
listeners=PLAINTEXT://0.0.0.0:9092
# EC2 public hostname
advertised.listeners=PLAINTEXT://ec2-34-x-x-x.us-west-2.compute.amazonaws.com:9092
# EC2 internal/private hostnames. localhost entry will resolve to 127.0.1.1
zookeeper.connect=ip-172-x-x-x.us-west-2.compute.internal:2181,ip-172-x-x-x.us-west-2.compute.internal:2181,ip-172-x-x-x.us-west-2.compute.internal:2181
А /etc/kafka/zookeeper.properties
настроен с:
server.1=172.x.x.x:2888:3888
server.2=172.x.x.x:2888:3888
server.3=172.x.x.x:2888:3888