0
パーティションのリーダーとレプリカがクラッシュしてノードが回復できないすべてのノードを言うことができます。リーダー-1を持つパーティションを別のブローカーに移動するにはどうすればよいですか?
別のカフカブローカーをそのパーティションのリーダーとして選ぶにはどうすればいいですか? (私はデータの損失で大丈夫です)
"kafka-preferred-replica-election.sh"と "kafka-reassign-partitions.sh"を試しましたが、成功しませんでした。
セットアップ:
- レプリカ因子1およびパーティション1とブローカID 10および11
- トピック「テスト」を持つ2つのノードカフカクラスタブローカ11は、トピック「試験」のためのリーダーでありますパーティション0
- ブローカ11がダウンします。
bin/kafka-reassign-partitions.sh --zookeeper myvm:2181 --reassignment-json-file manual-assignment.json --execute Partitions reassignment failed due to The proposed assignment contains non-existent partitions: List([test,10]) kafka.common.AdminCommandFailedException: The proposed assignment contains non-existent partitions: List([test,10]) at kafka.admin.ReassignPartitionsCommand$.parseAndValidate(ReassignPartitionsCommand.scala:201) at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:153) at kafka.admin.ReassignPartitionsCommand$.executeAssignment(ReassignPartitionsCommand.scala:149) at kafka.admin.ReassignPartitionsCommand$.main(ReassignPartitionsCommand.scala:46) at kafka.admin.ReassignPartitionsCommand.main(ReassignPartitionsCommand.scala) cat manual-assignment.json { "partitions": [ {"topic": "test", "partition": 10, "replicas": [10]} ], "version":1 }
カフカ -
- カフカバージョンkafka_2.11-0.10.1.0
トピック
Topic:test PartitionCount:1 ReplicationFactor:1 Configs:
Topic: test Partition: 0 Leader: -1 Replicas: 11 Isr:
kafka-reassign-partitions.sh出力を説明します-preferred-replica-election.sh
bin/kafka-preferred-replica-election.sh --zookeeper myvm:2181 --path-to-json-file topicPartitionList.json
[2016-11-08 03:27:01,993] ERROR Skipping preferred replica leader election for partition [test,10] since it doesn't exist (kafka.admin.PreferredReplicaLeaderElectionCommand)
Successfully started preferred replica election for partitions Set([test,10])
cat topicPartitionList.json
{
"partitions":
[
{"topic": "test", "partition": 10}
]
}