Closed saup007 closed 6 years ago
newer kafka clients are incompatible with older kafka servers. If your kafka cluster is running 0.8.1 please pass --kafka_version=0.8.2.2
to maxwell.
@osheroff my kafka cluster 0.9.0.1 This is very strangeš
--kafka_version=0.9.0.1
ah, ok. then, you should investigate:
20:59:03,490 WARN NetworkClient - Error while fetching metadata with correlation id 0 : {mysqltokafka3312_test=LEADER_NOT_AVAILABLE}
I believe there's a problem with the setup of your kafka cluster.
@osheroff first start maxwell, kafka cluster not exists topic,Once again there is no such warning.
Now a temporary solution, check the position of the table, 10 minutes no change, kill maxwell process and start again
@saup007 do you configure kafka to create topic if it doesn't exist?
# disable auto-creation of topics
auto.create.topics.enable=false|true
If not, the topic has to be created before maxwell being started.
@osheroff @ericwush thanks.
My focus is not whether to automatically create topics. that Maxwell does not continue to parse mysql binlog and write to kafka cluster.
May be maxwell access mysql network problems, maxwell process still exists, but there is no connection mysql master, and can not see in the mysql master sent to maxwell binlog Datadump thread
Is there always a retry strategy for connecting to MySQL or writing to kafka cluster? There may be a few seconds of network problems, not serious, if there is a sound retry strategy, is still available in a weak network
03:45:03,456 ERROR Sender - Uncaught error in kafka producer I/O thread:
java.lang.IllegalStateException: Correlation id for response (713518) does not match request (713517)
at org.apache.kafka.clients.NetworkClient.correlate(NetworkClient.java:477) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:440) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:265) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:216) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:128) [kafka-clients-0.9.0.1.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
03:45:03,456 ERROR Sender - Uncaught error in kafka producer I/O thread:
java.lang.IllegalStateException: Correlation id for response (713519) does not match request (713518)
at org.apache.kafka.clients.NetworkClient.correlate(NetworkClient.java:477) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:440) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:265) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:216) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:128) [kafka-clients-0.9.0.1.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
03:45:33,478 ERROR MaxwellKafkaProducer - NetworkException @ Position[BinlogPosition[mysql-bin.001466:621287663], lastHeartbeat=0] -- {"database":"db_licai","table":"lcs_view","pk.id":703273}
03:45:33,478 ERROR MaxwellKafkaProducer - The server disconnected before a response was received.
03:45:33,478 ERROR MaxwellKafkaProducer - NetworkException @ Position[BinlogPosition[mysql-bin.001466:616715881], lastHeartbeat=0] -- {"database":"db_licai","table":"lcs_symbol_relation","pk.id":5993756}
03:45:33,478 ERROR MaxwellKafkaProducer - The server disconnected before a response was received.
03:45:33,478 ERROR MaxwellKafkaProducer - NetworkException @ Position[BinlogPosition[mysql-bin.001466:616201578], lastHeartbeat=0] -- {"database":"db_licai","table":"lcs_cron_log","pk.id":4018836}
03:45:33,478 ERROR MaxwellKafkaProducer - The server disconnected before a response was received.
04:01:06,158 INFO BinaryLogClient - Trying to restore lost connection to mysql_host_rep:3312
I don't quite get what you meant by
first start maxwell, kafka cluster not exists topic
Anyways your log shows it's kafka related. If it's binlog connection issue it should error out earlier and you wouldn't see kafka errors. LEADER_NOT_AVAILABLE is a retriable error and you really should consult kafka docs to configure for your needs. In this case, consider
kafka.retries=50
in maxwell's config.properties to see if it helps. If yes, tune it to the value that suits your needs.
@ericwush's suggestion to raise kafka retries in the face of a junky network is probably fine. feel free to re-open if this doesn't help.
May be Kafka Bug https://issues.apache.org/jira/browse/KAFKA-4669
MySQL 5.5 binlog_format=ROW kafka_version 0.9.0.1 maxwell 1.13.0
20:59 maxwell process Running, Maxwell producer Running 22:14 maxwell process Running, Maxwell producer stop;
log
Three , no change in position