Hi, I have some problem to start a local broker from java unit tests in eclipse. My code is as follows:
@Test public void test(){ KafkaServer server; EmbeddedZookeeper zk; zk=new EmbeddedZookeeper("127.0.0.1:2181"); Properties props=new Properties(); props.put("broker.id", "0"); props.put("zookeeper.connect", "127.0.01:2181"); props.put("log.dirs", "logDir"); KafkaConfig kafkaConfig = new KafkaConfig(props); server = kafka.utils.TestUtils.createServer(kafkaConfig, null); ... server.shutDown(); } It seems that both the zookeeper and kafka broker are started correctly, because /brokers, /controller_epoch are created in zookeeper. But the broker keeps throwing the following exceptions: 13/09/17 14:32:01 ERROR server.ZookeeperLeaderElector: Error while electing or becoming leader on broker 0 java.net.ConnectException: Connection refused: connect at sun.nio.ch.Net.connect0(Native Method) at sun.nio.ch.Net.connect(Unknown Source) at sun.nio.ch.Net.connect(Unknown Source) at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) at kafka.network.BlockingChannel.connect(BlockingChannel.scala:57) at kafka.controller.ControllerChannelManager.kafka$controller$ControllerChannelManager$$addNewBroker(ControllerChannelManager.scala:82) at kafka.controller.ControllerChannelManager$$anonfun$1.apply(ControllerChannelManager.scala:34) at kafka.controller.ControllerChannelManager$$anonfun$1.apply(ControllerChannelManager.scala:34) at scala.collection.immutable.Set$Set1.foreach(Set.scala:81) at kafka.controller.ControllerChannelManager.<init>(ControllerChannelManager.scala:34) at kafka.controller.KafkaController.startChannelManager(KafkaController.scala:520) at kafka.controller.KafkaController.initializeControllerContext(KafkaController.scala:484) at kafka.controller.KafkaController.onControllerFailover(KafkaController.scala:240) at kafka.controller.KafkaController$$anonfun$1.apply$mcV$sp(KafkaController.scala:88) at kafka.server.ZookeeperLeaderElector.elect(ZookeeperLeaderElector.scala:53) at kafka.server.ZookeeperLeaderElector$LeaderChangeListener.handleDataDeleted(ZookeeperLeaderElector.scala:106) at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:549) at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) 13/09/17 14:32:01 INFO server.ZookeeperLeaderElector: 0 successfully elected as leader 13/09/17 14:32:01 INFO controller.KafkaController: [Controller 0]: Broker 0 starting become controller state transition 13/09/17 14:32:01 INFO controller.KafkaController: [Controller 0]: Controller 0 incremented epoch to 3 13/09/17 14:32:01 ERROR server.ZookeeperLeaderElector: Error while electing or becoming leader on broker 0 java.net.ConnectException: Connection refused: connect at sun.nio.ch.Net.connect0(Native Method) at sun.nio.ch.Net.connect(Unknown Source) at sun.nio.ch.Net.connect(Unknown Source) at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) at kafka.network.BlockingChannel.connect(BlockingChannel.scala:57) at kafka.controller.ControllerChannelManager.kafka$controller$ControllerChannelManager$$addNewBroker(ControllerChannelManager.scala:82) at kafka.controller.ControllerChannelManager$$anonfun$1.apply(ControllerChannelManager.scala:34) at kafka.controller.ControllerChannelManager$$anonfun$1.apply(ControllerChannelManager.scala:34) at scala.collection.immutable.Set$Set1.foreach(Set.scala:81) at kafka.controller.ControllerChannelManager.<init>(ControllerChannelManager.scala:34) at kafka.controller.KafkaController.startChannelManager(KafkaController.scala:520) at kafka.controller.KafkaController.initializeControllerContext(KafkaController.scala:484) at kafka.controller.KafkaController.onControllerFailover(KafkaController.scala:240) at kafka.controller.KafkaController$$anonfun$1.apply$mcV$sp(KafkaController.scala:88) at kafka.server.ZookeeperLeaderElector.elect(ZookeeperLeaderElector.scala:53) at kafka.server.ZookeeperLeaderElector$LeaderChangeListener.handleDataDeleted(ZookeeperLeaderElector.scala:106) at org.I0Itec.zkclient.ZkClient$6.run(ZkClient.java:549) at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) 13/09/17 14:32:01 INFO controller.ControllerEpochListener: [ControllerEpochListener on 0]: Initialized controller epoch to 3 and zk version 2 13/09/17 14:32:01 INFO server.ZookeeperLeaderElector: 0 successfully elected as leader 13/09/17 14:32:01 INFO controller.KafkaController: [Controller 0]: Broker 0 starting become controller state transition 13/09/17 14:32:01 INFO controller.KafkaController: [Controller 0]: Controller 0 incremented epoch to 4 Thanks, Jiang