Versi kafka adalah kafka_2.12-2.2.0, zookeeper adalah 3.5.4-beta.
1.mulai broker 0
./bin/kafka-server-start.sh -daemon config/server.properties
2.buat topik bernama tes
./bin/kafka-topics.sh --zookeeper 192.168.18.128:2181/kafka --topic test --create --partitions 2 --replication-factor 1
deskripsi topik tes adalah
./bin/kafka-topics.sh --zookeeper 192.168.18.128:2181/kafka --topic test --describe
Topic:test PartitionCount:2 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: test Partition: 1 Leader: 0 Replicas: 0 Isr: 0
3.sekarang saya memulai broker 1, dan saya ingin memindahkan partisi-1 dari pengujian topik ke broker 1. Kemudian saya membuat file json bernama reassign.json, isi dari reassign.json adalah
{
"version": 1,
"partitions": [
{
"topic": "test",
"partition": 1,
"replicas": [
1
],
"log_dirs": [
"any"
]
}
]
}
Lalu saya jalankan perintah untuk memindahkan partisi-1
./bin/kafka-reassign-partitions.sh --zookeeper 192.168.18.128:2181/kafka --reassignment-json-file json/reassign.json --execute
4.Setelah beberapa detik, saya menjalankan perintah untuk menampilkan hasil perintah sebelumnya.
./bin/kafka-reassign-partitions.sh --zookeeper 192.168.18.128:2181/kafka --verify --reassignment-json-file json/reassign.json
Status of partition reassignment:
Reassignment of partition test-1 is still in progress
Saya coba lagi 2 kali, bug penugasan ulang partisi masih berlangsung.
5.Kemudian saya mendapatkan error login berikut di server.log.
[2019-09-13 15:37:04,696] ERROR [KafkaApi-0] Error when handling request: clientId=0, correlationId=6, api=UPDATE_METADATA, body={controller_id=0,controller_epoch=1,broker_epoch=62,topic_states=[{topic=test,partition_states=[{partition=1,controller_epoch=1,leader=0,leader_epoch=0,isr=[0],zk_version=0,replicas=[1,0],offline_replicas=[]}]}],live_brokers=[{id=0,end_points=[{port=9092,host=ubuntu,listener_name=PLAINTEXT,security_protocol_type=0}],rack=null},{id=1,end_points=[{port=9092,host=ubuntu,listener_name=PLAINTEXT,security_protocol_type=0}],rack=null}]} (kafka.server.KafkaApis)
java.lang.IllegalStateException: Epoch 62 larger than current broker epoch 28
at kafka.server.KafkaApis.isBrokerEpochStale(KafkaApis.scala:2414)
at kafka.server.KafkaApis.handleUpdateMetadataRequest(KafkaApis.scala:236)
at kafka.server.KafkaApis.handle(KafkaApis.scala:114)
at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)
at java.lang.Thread.run(Thread.java:748)
Adakah yang pernah menyelesaikan masalah yang sama? Maukah Anda membagikan pilihan Anda? Terima kasih.