我使用的是Kafka的最新版本(kafka 2.12-1.0.0.tgz)。我已经用3个代理设置了简单集群(刚刚在每个示例的属性文件中更改了broker.id=1和listeners=plaintext://:9092)
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 13 --topic demo
然后用以下命令启动kafka消费者和生产者
./kafka-console-producer.sh --topic demo --broker-list localhost:9094,localhost:9093,localhost:9092
./kafka-console-consumer.sh --group test --bootstrap-server localhost:9094,localhost:9093,localhost:9092 --topic demo
所有经纪人都起来了,一切都好。但如果我先终止(按开始顺序),代理消息将发送到代理,但消费者无法接收任何消息。消息不会丢失。在启动代理之后,消费者立即收到消息。
关闭代理示例后的使用者日志:
[2018-01-09 13:39:31130]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点2147483646的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:31132]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点1的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:31344]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点2147483646的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:31451]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点1的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:31848]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点2147483646的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:31950]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点1的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:32363]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点2147483646的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:33092]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点2147483646的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:34216]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点2147483646的连接。代理可能不可用(org.apache.kafka.clients.networkclient)[2018-01-09 13:39:34218]警告[consumer clientid=consumer-1,groupid=test]偏移量的异步自动提交{demo-0=offsetandmetadata{offset=3,metadata='},demo-1=offsetandmetadata{offset=3,metadata='},demo-2=offsetandmetadata{offset=2,metadata='},demo-3=offsetandmetadata{offset=2,metadata='},demo-4=offsetandmetadata{offset=1,metadata='},demo-5=offsetandmetadata{offset=1,metadata='},demo-6=offsetandmetadata{offset=3,metadata='},demo-7=offsetandmetadata{offset=2,metadata='},demo-8=offsetandmetadata{offset=3,metadata='},demo-9=offsetandmetadata{offset=2,metadata='},demo-10=offsetandmetadata{offset=3,metadata='},demo-11=offsetandmetadata{offset=2,metadata='},demo-12=offsetandmetadata{offset=2,metadata='}}失败:offset commit失败,出现可检索异常。您应该重试提交偏移量。基本错误是:协调器不可用(org.apache.kafka.clients.consumer.internals.consumercoordinator)[2018-01-09 13:39:34219]警告[consumer clientid=consumer-1,groupid=test]无法建立到节点1的连接。代理可能不可用(org.apache.kafka.clients.networkclient)
再次启动丢失的代理后的使用者日志:
[2018-01-09 13:41:21739]错误[consumer clientid=consumer-1,groupid=test]偏移提交在偏移3处的分区demo-0上失败:这不是正确的协调器(org.apache.kafka.clients.consumer.internals.consumercoordinator)[2018-01-09 13:41:21739]警告[consumer clientid=consumer-1,groupid=test]偏移量的异步自动提交{demo-0=offsetandmetadata{offset=3,metadata='},demo-1=offsetandmetadata{offset=3,metadata='},demo-2=offsetandmetadata{offset=2,metadata='},demo-3=offsetandmetadata{offset=2,metadata='},demo-4=offsetandmetadata{offset=1,metadata='},demo-5=offsetandmetadata{offset=1,metadata='},demo-6=offsetandmetadata{offset=3,metadata='},demo-7=offsetandmetadata{offset=2,metadata='},demo-8=offsetandmetadata{offset=3,metadata='},demo-9=offsetandmetadata{offset=2,metadata='},demo-10=offsetandmetadata{offset=3,metadata='},demo-11=offsetandmetadata{offset=2,metadata='},demo-12=offsetandmetadata{offset=2,metadata='}}失败:偏移提交失败,出现可检索异常。您应该重试提交偏移量。基本错误是:这不是正确的协调器(org.apache.kafka.clients.consumer.internals.consumercoordinator)[2018-01-09 13:41:22353]错误[consumer clientid=consumer-1,groupid=test]偏移提交在偏移量3处的分区demo-0失败:这不是正确的协调器(org.apache.kafka.clients.consumer.internals.consumercoordinator)[2018-01-09 13:41:22354]警告[consumer clientid=consumer-1,groupid=test]偏移量的异步自动提交{demo-0=offsetandmetadata{offset=3,metadata='},demo-1=offsetandmetadata{offset=3,metadata='},demo-2=offsetandmetadata{offset=2,metadata='},demo-3=offsetandmetadata{offset=2,metadata='},demo-4=offsetandmetadata{offset=1,metadata='},demo-5=offsetandmetadata{offset=1,metadata='},demo-6=offsetandmetadata{offset=3,metadata='},demo-7=offsetandmetadata{offset=2,metadata='},demo-8=offsetandmetadata{offset=3,metadata='},demo-9=offsetandmetadata{offset=2,metadata='},demo-10=offsetandmetadata{offset=3,metadata='},demo-11=offsetandmetadata{offset=3,metadata='},demo-12=offsetandmetadata{offset=2,metadata='}}失败:偏移提交失败,出现可检索异常。您应该重试提交偏移量。基本错误是:这不是正确的协调器(org.apache.kafka.clients.consumer.internals.consumercoordinator)
谢谢
2条答案
按热度按时间js5cn81o1#
使用
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
在yml
解决这个问题。e、 g.使用2名工人
docker-swarm
.v1uwarro2#
尝试检查服务器-*.properties文件中的“offset.topic.replication.factor”
例如:
http://kafka.apache.org/documentation/#brokerconfigs