[英]How to recover from NoReplicaOnlineException with one Kafka broker?
我們在開發實驗室中建立了一個非常簡單的Kafka 0.8.1.1 。 它只是一個節點。 我們會定期遇到此錯誤:
[2015-08-10 13:45:52,405] ERROR Controller 0 epoch 488 initiated state change for partition [test-data,1] from OfflinePartition to OnlinePartition failed (state.change.logger)
kafka.common.NoReplicaOnlineException: No replica for partition [test-data,1] is alive. Live brokers are: [Set()], Assigned replicas are: [List(0)]
at kafka.controller.OfflinePartitionLeaderSelector.selectLeader(PartitionLeaderSelector.scala:61)
at kafka.controller.PartitionStateMachine.electLeaderForPartition(PartitionStateMachine.scala:336)
at kafka.controller.PartitionStateMachine.kafka$controller$PartitionStateMachine$$handleStateChange(PartitionStateMachine.scala:185)
at kafka.controller.PartitionStateMachine$$anonfun$triggerOnlinePartitionStateChange$3.apply(PartitionStateMachine.scala:99)
at kafka.controller.PartitionStateMachine$$anonfun$triggerOnlinePartitionStateChange$3.apply(PartitionStateMachine.scala:96)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:743)
誰能推薦從中恢復的策略? 是否有這樣的事情,還是我們需要建立另一個或兩個節點並在主題上設置復制因子以覆蓋我們放入集群的所有節點?
我們有3個Zookeeper節點,它們對其他應用程序(例如Storm和HBase)的響應非常好,因此我們非常有信心,ZooKeeper不會在這里受到指責。 有任何想法嗎?
這個問題是關於Kafka 0.8的,如果我沒記錯的話,它應該不受支持。 但是,對於將來的讀者來說,以下准則應該是相關的:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.