Router UI Druid console not visible

Hi,

When I open router URL to access druid console , I see this error :

HTTP ERROR 404

Problem accessing /. Reason:

    Not Found

Can you do a “netstat -laputen | grep 8888” and make sure the pic is same as your router processes’(which you can find through ps -ef | grep router)

Hi,

Did you enable the management console in the runtime properties:

druid.router.managementProxy.enabled=true

BR,

Thomas

Yes I did :

Here’s my runtime.properties :

druid.host=...**

druid.service=druid/router

druid.port=8088

HTTP proxy

druid.router.http.numConnections=50

druid.router.http.readTimeout=PT5M

druid.router.http.numMaxThreads=100

druid.server.http.numThreads=100

Service discovery

druid.router.defaultBrokerServiceName=druid/broker

druid.router.coordinatorServiceName=druid/coordinator

Management proxy to coordinator / overlord: required for unified web console.

druid.router.managementProxy.enabled=true

Also am running this as docker container , not sure if that’s a problem , but all my other services are up and able to see co-ordinator and overlord console .

-Rahul

here’s what I see :

bash-4.4# netstat -laputen | grep 8088

tcp 0 0 :::8088 :::* LISTEN 17/java

tcp 0 0 ::ffff:10.42.1.134:8088 ::ffff:10.42.0.0:52432 TIME_WAIT -

bash-4.4# ps -ef | grep router

1 root 0:00 {start-druid.sh} /bin/bash /start-druid.sh router

17 root 2:01 java -server -Xms512m -Xmx512m -XX:+UseG1GC -XX:MaxDirectMemorySize=512m -XX:+ExitOnOutOfMemoryError -Duser.timezone=UTC -Dfile.encoding=UTF-8 -Djava.io.tmpdir=var/tmp -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -cp /opt/druid/conf/druid/_common:/opt/druid/conf/druid/router:/opt/druid/lib/* org.apache.druid.cli.Main server router

You see anything concerning here ?

-Rahul

Does going to your router /status page return the expected router status JSON?

Yes , it returns following:

curl -X ‘GET’ -H ‘Content-Type:application/json’ :/status

{“version”:“0.13.0-incubating”,“modules”:[{“name”:“org.apache.druid.query.aggregation.histogram.ApproximateHistogramDruidModule”,“artifact”:“druid-histogram”,“version”:“0.13.0-incubating”},{“name”:“org.apache.druid.server.lookup.namespace.NamespaceExtractionModule”,“artifact”:“druid-lookups-cached-global”,“version”:“0.13.0-incubating”},{“name”:“org.apache.druid.metadata.storage.mysql.MySQLMetadataStorageModule”,“artifact”:“mysql-metadata-storage”,“version”:“0.13.0-incubating”}],“memory”:{“maxMemory”:536870912,“totalMemory”:536870912,“freeMemory”:438104552,“usedMemory”:98766360}}(CHEF)

Regards

Rahul

In my case the router is also running as docker container and the management interface works. That should not be an issue.

I used the default port 8080, not 8088. Here is my runtime.properties for the router:

druid.host=router

druid.service=druid/router

druid.plaintextPort=8080

druid.router.defaultBrokerServiceName=druid/broker

druid.router.coordinatorServiceName=druid/coordinator

druid.router.tierToBrokerMap={"_default_tier":""}

druid.router.http.numConnections=50

druid.router.http.readTimeout=PT5M

druid.router.managementProxy.enabled=true

Number of threads used by the Router proxy http client

druid.router.http.numMaxThreads=100

druid.server.http.numThreads=100

Hi Rahul,
The new web console based on router is introduced in latest Apache Druid 0.14.0-incubating.

0.13.0 version has the coordinator console reachable via druid-coordinator.

You would need to upgrade druid to use the new console.

Awesome , that indeed was the issue ,I installed the new version and now the UI is up , but seems it now can’t find broker , i get this error :

Error 500 Server Error

HTTP ERROR 500

Problem accessing /druid/v2/datasources. Reason:

    Server Error

Caused by:

org.apache.druid.java.util.common.ISE: No default server found!

at org.apache.druid.server.router.QueryHostFinder.pickDefaultServer(QueryHostFinder.java:119)

at org.apache.druid.server.AsyncQueryForwardingServlet.service(AsyncQueryForwardingServlet.java:272)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)

at org.apache.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:82)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)

at org.apache.druid.server.security.AllowOptionsResourceFilter.doFilter(AllowOptionsResourceFilter.java:75)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)

at org.apache.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:84)

at org.apache.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:59)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)

at org.apache.druid.server.security.SecuritySanityCheckFilter.doFilter(SecuritySanityCheckFilter.java:86)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)

at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)

at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)

at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:724)

at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)

at org.eclipse.jetty.server.Server.handle(Server.java:531)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)

at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)

at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)

at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678)

at java.lang.Thread.run(Thread.java:748)


Powered by Jetty:// 9.4.10.v20180503

Is there anywhere else we specify how to find broker other than runtime.properties ?

Regards

Rahul

All working now , seems i missed sql enabled. thanks everyone !

-Rahuk