2016-07-27 173 views
0

我一直在試圖配置一個卡夫卡經紀人,一個主題,一個生產者,一個消費者。 當廠家生產,如果代理髮生故障,數據丟失發生時,例如 :配置用於生產者卡夫卡數據丟失,生產者

In Buffer: 
Datum 1 - published 
Datum 2 - published 
. 
. ---->(Broker goes down for a while and reconnects...) 
. 
Datum 4 - published 
Datum 5 - published 

屬性是:

bootstrap.servers=localhost:9092 
acks=all 
retries=1 
batch.size=16384 
linger.ms=2 
buffer.memory=33554432 
key.serializer=org.apache.kafka.common.serialization.IntegerSerializer 
value.serializer=org.apache.kafka.common.serialization.StringSerializer 
producer.type=sync 
buffer.size=102400 
reconnect.interval=30000 
request.required.acks=1 

數據大小大於配置緩衝區大小較小.. 幫我知道我要去哪裏錯了......!

+0

不知道到底做了什麼。我會假設你試圖在經紀人完成時寫給卡夫卡的信息不會被卡夫卡所接受。如果一條消息沒有收到,表示消息沒有寫入Kafka,生產者需要重新嘗試寫入消息。 –

+0

是的,解決方案是重試儘可能多的次數,直到代理出現,所以最後的偏移量將提交,並將重試值寫入代理。 – peaceUser

回答

1

不知道到底做了什麼。我會假設,當經紀人倒閉時,你試圖寫給卡夫卡的消息並沒有被卡夫卡所吸引。如果一條消息沒有收到,表示消息沒有寫入Kafka,生產者需要重新嘗試寫入消息。

相關問題