Skip to content

indexing task not work properly with Hadoop HA  #5552

@aubdiy

Description

@aubdiy

we use druid 0.12.0 version and hadoop 2.7.3 version

While using HDFS with Hadoop HA storage segments,

# conf-quickstart/druid/_common/common.runtime.properties
# For HDFS:
druid.storage.type=hdfs
druid.storage.storageDirectory=hdfs://jinzige/user/druid/segments

hdfs://jinzige is hadoop HA fs.defaultFS value,

core-site.xml:

<configuration>

    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://jinzige</value>
      <final>true</final>
    </property>

    <property>
      <name>fs.trash.interval</name>
      <value>360</value>
    </property>
    

     ...

exception could be thrown while fetching or pushing task log:

2018-03-29T12:13:27,540 INFO [task-runner-0-priority-0] org.apache.hadoop.mapreduce.Job - Running job: job_1522308188942_0019
2018-03-29T12:13:32,649 INFO [task-runner-0-priority-0] org.apache.hadoop.mapreduce.Job - Job job_1522308188942_0019 running in uber mode : false
2018-03-29T12:13:32,649 INFO [task-runner-0-priority-0] org.apache.hadoop.mapreduce.Job -  map 0% reduce 0%
2018-03-29T12:13:39,369 INFO [task-runner-0-priority-0] org.apache.hadoop.mapreduce.Job - Task Id : attempt_1522308188942_0019_m_000000_0, Status : FAILED
Error: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.IllegalArgumentException: java.net.UnknownHostException: jinzige
  at io.druid.storage.hdfs.HdfsDataSegmentPusher.<init>(HdfsDataSegmentPusher.java:65)
  while locating io.druid.storage.hdfs.HdfsDataSegmentPusher
  at io.druid.storage.hdfs.HdfsStorageDruidModule.configure(HdfsStorageDruidModule.java:97) (via modules: com.google.inject.util.Modules$OverrideModule -> io.druid.storage.hdfs.HdfsStorageDruidModule)
  while locating io.druid.segment.loading.DataSegmentPusher annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=77, type=MAPBINDER, keyType=java.lang.String)
  at io.druid.guice.PolyBind.createChoice(PolyBind.java:70) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> io.druid.guice.LocalDataStorageDruidModule)
  while locating io.druid.segment.loading.DataSegmentPusher

1 error
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1028)
	at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054)
	at io.druid.indexer.HadoopDruidIndexerConfig.<clinit>(HadoopDruidIndexerConfig.java:126)
	at io.druid.indexer.HadoopDruidIndexerMapper.setup(HadoopDruidIndexerMapper.java:51)
	at io.druid.indexer.IndexGeneratorJob$IndexGeneratorMapper.setup(IndexGeneratorJob.java:276)
	at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:143)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:170)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1869)
	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:164)
Caused by: java.lang.IllegalArgumentException: java.net.UnknownHostException: jinzige
	at org.apache.hadoop.security.SecurityUtil.buildTokenService(SecurityUtil.java:439)
	at org.apache.hadoop.hdfs.NameNodeProxies.createNonHAProxy(NameNodeProxies.java:321)
	at org.apache.hadoop.hdfs.NameNodeProxies.createProxy(NameNodeProxies.java:176)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:690)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:631)
	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:160)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2795)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:99)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2829)
	at org.apache.hadoop.fs.FileSystem$Cache.getUnique(FileSystem.java:2817)
	at org.apache.hadoop.fs.FileSystem.newInstance(FileSystem.java:437)
	at io.druid.storage.hdfs.HdfsDataSegmentPusher.<init>(HdfsDataSegmentPusher.java:70)
	at io.druid.storage.hdfs.HdfsDataSegmentPusher$$FastClassByGuice$$36c2ed09.newInstance(<generated>)
	at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
	at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:104)
	at com.google.inject.multibindings.MapBinder$RealMapBinder$ValueProvider.get(MapBinder.java:821)
	at io.druid.guice.PolyBind$ConfiggedProvider.get(PolyBind.java:204)
	at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
	at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
	at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
	... 12 more
Caused by: java.net.UnknownHostException: jinzige
	... 49 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions