Problem running using hadoop indexing task to batch load data to druid

I’m running the druid overlord in local mode with the following configuration.

druid.host=ip-10-150-40-146.ec2.internal

druid.port=8090

druid.service=druid/overlord

druid.indexer.runner.type=local

druid.indexer.storage.type=local

When I queue up a task to batch load to druid using the hadoop indexing task, I get the following exception which appears to indicate that it’s trying to execute the task remotely.

2016-01-06T01:23:00,320 INFO [main] io.druid.indexing.common.actions.RemoteTaskActionClient - Performing action for task[index_hadoop_wikipedia_2016-01-06T01:22:47.098Z]: LockTryAcquireAction{interval=2013-08-31T00:00:00.000Z/2013-09-01T00:00:00.000Z}

2016-01-06T01:23:00,338 ERROR [main] io.druid.curator.discovery.ServerDiscoverySelector - No server instance found

2016-01-06T01:23:00,339 WARN [main] io.druid.indexing.common.actions.RemoteTaskActionClient - Exception submitting action for task[index_hadoop_wikipedia_2016-01-06T01:22:47.098Z]

java.io.IOException: Failed to locate service uri

at io.druid.indexing.common.actions.RemoteTaskActionClient.submit(RemoteTaskActionClient.java:91) [druid-indexing-service-0.8.2.jar:0.8.2]

at io.druid.indexing.common.task.HadoopIndexTask.isReady(HadoopIndexTask.java:135) [druid-indexing-service-0.8.2.jar:0.8.2]

at io.druid.indexing.worker.executor.ExecutorLifecycle.start(ExecutorLifecycle.java:120) [druid-indexing-service-0.8.2.jar:0.8.2]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_65]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_65]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_65]

at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_65]

at com.metamx.common.lifecycle.Lifecycle$AnnotationBasedHandler.start(Lifecycle.java:325) [java-util-0.27.4.jar:?]

at com.metamx.common.lifecycle.Lifecycle.addMaybeStartHandler(Lifecycle.java:230) [java-util-0.27.4.jar:?]

at com.metamx.common.lifecycle.Lifecycle.addMaybeStartManagedInstance(Lifecycle.java:176) [java-util-0.27.4.jar:?]

at io.druid.guice.LifecycleScope$1.get(LifecycleScope.java:76) [druid-api-0.3.13.jar:0.8.2]

at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) [guice-4.0-beta.jar:?]

at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005) [guice-4.0-beta.jar:?]

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051) [guice-4.0-beta.jar:?]

at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001) [guice-4.0-beta.jar:?]

at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1040) [guice-4.0-beta.jar:?]

at io.druid.cli.CliPeon.run(CliPeon.java:225) [druid-services-0.8.2.jar:0.8.2]

at io.druid.cli.Main.main(Main.java:91) [druid-services-0.8.2.jar:0.8.2]

Caused by: com.metamx.common.ISE: Cannot find instance of indexer to talk to!

at io.druid.indexing.common.actions.RemoteTaskActionClient.getServiceInstance(RemoteTaskActionClient.java:165) ~[druid-indexing-service-0.8.2.jar:0.8.2]

at io.druid.indexing.common.actions.RemoteTaskActionClient.submit(RemoteTaskActionClient.java:86) ~[druid-indexing-service-0.8.2.jar:0.8.2]

… 17 more

I’m following the example in http://druid.io/docs/latest/ingestion/batch-ingestion.html, which indicates that this task should work locally.

Any ideas on why this is failing for me?

Thanks!

Ken

Hi,

are you explicitly setting following config
druid.selectors.indexing.serviceName=druid/overlord ?

– Himanshu