You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by "Wu, Jiang2 " <ji...@citi.com> on 2013/09/17 20:46:51 UTC
problem to start a kafka broker from java unit tests
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
Re: problem to start a kafka broker from java unit tests
Posted by Neha Narkhede <ne...@gmail.com>.
I tried your test on 0.8 HEAD and it succeeded. Here is the log4j output
from the test run - http://pastebin.com/sP98SJuu
Could you try running your test again on 0.8 HEAD ?
Thanks,
Neha
On Tue, Sep 17, 2013 at 11:46 AM, Wu, Jiang2 <ji...@citi.com> wrote:
> 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
>