Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to start KSQL with docker-compose up #3319

Closed
asasvari opened this issue Sep 10, 2019 · 1 comment
Closed

Failed to start KSQL with docker-compose up #3319

asasvari opened this issue Sep 10, 2019 · 1 comment

Comments

@asasvari
Copy link

Yesterday, 92b03ec introduced a change in docker-compose.yaml. I pulled the change and wanted to start KSQL, it failed with:

ksql-server_1      | [2019-09-10 09:39:38,273] ERROR Failed to start KSQL (io.confluent.ksql.rest.server.KsqlServerMain:62)
ksql-server_1      | java.net.SocketException: Protocol family unavailable
ksql-server_1      |    at sun.nio.ch.Net.bind0(Native Method)
ksql-server_1      |    at sun.nio.ch.Net.bind(Net.java:433)
ksql-server_1      |    at sun.nio.ch.Net.bind(Net.java:425)
ksql-server_1      |    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
ksql-server_1      |    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
ksql-server_1      |    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:342)
ksql-server_1      |    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:308)
ksql-server_1      |    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
ksql-server_1      |    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
ksql-server_1      |    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
ksql-server_1      |    at org.eclipse.jetty.server.Server.doStart(Server.java:396)
ksql-server_1      |    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
ksql-server_1      |    at io.confluent.rest.Application.start(Application.java:736)
ksql-server_1      |    at io.confluent.ksql.rest.server.KsqlRestApplication.start(KsqlRestApplication.java:201)
ksql-server_1      |    at io.confluent.ksql.rest.server.KsqlServerMain.tryStartApp(KsqlServerMain.java:74)
ksql-server_1      |    at io.confluent.ksql.rest.server.KsqlServerMain.main(KsqlServerMain.java:60)

KSQL_LISTENERS: http://0.0.0.0:8088,http://[::]:8088
includes KSQL_LISTENERS: http://0.0.0.0:8088,http://[::]:8088

The problem is that "By default, the Docker daemon configures the container network for IPv4 only." (see 92b03ec).

92b03ec basically breaks environments where Docker is not configured with IPv6.

As a workaround, I changed KSQL_LISTENERS: http://0.0.0.0:8088,http://[::]:8088 to KSQL_LISTENERS: http://0.0.0.0:8088.

This behaviour is not documented in https://github.com/confluentinc/ksql/blob/master/docs/tutorials/basics-docker.rst

@stevenpyzhang
Copy link
Member

92b03ec was reverted just now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants