0

I'm using Confluent Platform v5.5.0

I have Zookeeper, Kafka, Registry Schema, and REST Proxy all running after following the Confluent Quickstart steps: https://docs.confluent.io/current/kafka-rest/quickstart.html

I've made no changes to any configuration, only downloaded Confluent 5.5.0 and started each of the 4 processes in separate Terminal windows.

But, when I try to create a Consumer by POSTing the sample, the error shows a couple times in the REST Proxy Terminal window:

[2020-06-07 10:26:38,403] INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread:83)
[2020-06-07 10:26:38,440] ERROR Unhandled exception (io.confluent.rest.exceptions.KafkaExceptionMapper:123)
java.lang.IllegalArgumentException: A HostProvider may not be empty!
    at org.apache.zookeeper.client.StaticHostProvider.init(StaticHostProvider.java:136)
    at org.apache.zookeeper.client.StaticHostProvider.<init>(StaticHostProvider.java:87)
    at org.apache.zookeeper.ZooKeeper.createDefaultHostProvider(ZooKeeper.java:1312)
    at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:951)
    at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:688)
    at org.I0Itec.zkclient.ZkConnection.connect(ZkConnection.java:70)
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1228)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:157)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:131)
    at io.confluent.kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:95)

I'm able to send GET requests to these endpoints

http://192.168.1.164:8082/topics/jsontest
http://192.168.1.164:8081/config

and receive the topic list and configuration, respectively. So I think the REST Proxy is mostly working, but I'm missing something in a property file.

I found this line in /etc/kafka-rest/kafka-rest.properties

#zookeeper.connect=localhost:2181

but uncommenting it only gave the error:

[2020-06-07 12:33:11,546] ERROR Server died unexpectedly:  (io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain:50)
java.io.IOException: Failed to bind to /0.0.0.0:8081
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.server.Server.doStart(Server.java:385)
    at io.confluent.rest.ApplicationServer.doStart(ApplicationServer.java:192)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain.main(SchemaRegistryMain.java:43)
Caused by: java.net.BindException: Address already in use

Does anything stand out as something I've missed or done incorrectly? Thank you for any ideas!

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245
Dan Bitter
  • 229
  • 4
  • 12
  • `BindException: Address already in use` ... Something is already running on that port. Also `#zookeeper.connect` means you've commented that line – OneCricketeer Jun 09 '20 at 03:37
  • @OneCricketeer Thank you for the thoughts. Zookeeper runs on 2181 and the Schema Registry runs on 8081. I'm not sure why the REST Proxy (where the error came from) is trying to bind to 8081 – Dan Bitter Jun 09 '20 at 10:06
  • It isn't. Your error is from `SchemaRegistryMain`. Don't use `confluent` CLI. Just use `kafka-rest-start` script – OneCricketeer Jun 09 '20 at 17:25
  • Or use `apt-get` to property install Confluent Platform, and then use `systemctl` commands – OneCricketeer Jun 09 '20 at 17:26

0 Answers0