hdfs Datanode refusé la communication avec namenode parce que le nom d'hôte ne peut pas être résolu

J'ai 3 DataNodes et 1 NameNode sur une machine à l'intérieur des conteneurs LXC. Le DataNode sur le même nœud que le NameNode fonctionne bien mais les 2 autres je ne reçois pas:

 Initialization failed for Block pool BP-232943349-10.0.3.112-1417116665984 
(Datanode Uuid null) service to hadoop12.domain.local/10.0.3.112:8022 
Datanode denied communication with namenode because hostname cannot be resolved 
(ip=10.0.3.233, hostname=10.0.3.233): DatanodeRegistration(10.0.3.114, 
datanodeUuid=49a6dc47-c988-4cb8-bd84-9fabf87807bf, infoPort=50075, ipcPort=50020, 
storageInfo=lv=-56;cid=cluster24;nsid=11020533;c=0)

dans le fichier journal
notez que mon NameNode is at IP 10.0.3.112, et la DataNode failing is at 10.0.3.114 dans ce cas.
Tous les nœuds Complets sont définis dans le fichier hosts sur tous les nœuds, et je peux faire un ping de chaque nœud de tous les autres.

Ce qui m'intrigue, c'est ici que le DataNode est d'essayer de localiser le NameNode à 10.0.3.233 qui n'est PAS une IP dans la liste, ni l'adresse IP du NameNode
Pourquoi? où est-ce que le programme d'installation?
La deuxième DataNode qui échoue à 10.0.3.113 et recherche également une IP différente (10.0.3.158) qu'il ne peut pas résoudre, car il n'est pas défini et n'existe pas dans mon installation.

Le nœud qui fonctionne est à 10.0.3.112 comme le NameNode, pourtant, dans le journal, je le vois, c'est de travailler avec src/et de l'heure d'été/les fichiers qui sont IPs en dehors de la gamme que j'utilise.
comme ceci:

    src: /10.0.3.112:50010, dest: /10.0.3.180:53246, bytes: 60, op: HDFS_READ, 
cliID: DFSClient_NONMAPREDUCE_-939581249_2253, offset: 0, srvID: a83af9ba-4e1a-47b3-a5d4-
f437ef60c287, blockid: BP-232943349-10.0.3.112-1417116665984:blk_1073742468_1644, 
duration: 1685666

donc exactement ce qui se passe ici, et comment se fait que je ne peux pas atteindre le NameNode quand tous mes nœuds de voir et de résoudre les uns des autres?

Merci pour l'aide

PS: le fichier /etc/hosts ressemble à ceci:

127.0.0.1   localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

10.0.3.1    bigdata.domain.local
192.168.10.33   bigdata.domain.local
10.0.3.111  hadoop11.domain.local
10.0.3.112  hadoop12.domain.local
10.0.3.113  hadoop13.domain.local
10.0.3.114  hadoop14.domain.local
10.0.3.115  hadoop15.domain.local
10.0.3.116  hadoop16.domain.local
10.0.3.117  hadoop17.domain.local
10.0.3.118  hadoop18.domain.local
10.0.3.119  hadoop19.domain.local
10.0.3.121  hadoop21.domain.local
10.0.3.122  hadoop22.domain.local
10.0.3.123  hadoop23.domain.local
10.0.3.124  hadoop24.domain.local
10.0.3.125  hadoop25.domain.local
10.0.3.126  hadoop26.domain.local
10.0.3.127  hadoop27.domain.local
10.0.3.128  hadoop28.domain.local
10.0.3.129  hadoop29.domain.local

core-site.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!--Autogenerated by Cloudera Manager-->
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://nameservice1</value>
  </property>
  <property>
    <name>fs.trash.interval</name>
    <value>1</value>
  </property>
  <property>
    <name>io.compression.codecs</name>
        <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.DeflateCodec,org.apache.hadoop.io.compress.SnappyCodec,org.apache.hadoop.io.compress.Lz4Codec</value>
      </property>
      <property>
        <name>hadoop.security.authentication</name>
        <value>simple</value>
      </property>
      <property>
        <name>hadoop.security.authorization</name>
        <value>false</value>
      </property>
      <property>
        <name>hadoop.rpc.protection</name>
        <value>authentication</value>
      </property>
      <property>
        <name>hadoop.ssl.require.client.cert</name>
        <value>false</value>
        <final>true</final>
      </property>
      <property>
        <name>hadoop.ssl.keystores.factory.class</name>
        <value>org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory</value>
        <final>true</final>
      </property>
      <property>
        <name>hadoop.ssl.server.conf</name>
        <value>ssl-server.xml</value>
        <final>true</final>
      </property>
      <property>
        <name>hadoop.ssl.client.conf</name>
        <value>ssl-client.xml</value>
        <final>true</final>
      </property>
      <property>
        <name>hadoop.security.auth_to_local</name>
        <value>DEFAULT</value>
      </property>
      <property>
        <name>hadoop.proxyuser.oozie.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.oozie.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.mapred.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.mapred.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.flume.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.flume.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.HTTP.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.HTTP.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hive.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hive.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hue.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hue.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.httpfs.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.httpfs.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hdfs.groups</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.proxyuser.hdfs.hosts</name>
        <value>*</value>
      </property>
      <property>
        <name>hadoop.security.group.mapping</name>
        <value>org.apache.hadoop.security.ShellBasedUnixGroupsMapping</value>
      </property>
      <property>
        <name>hadoop.security.instrumentation.requires.admin</name>
        <value>false</value>
      </property>
    </configuration>

hdfs-site.xml

<

!--Autogenerated by Cloudera Manager-->
<configuration>
  <property>
    <name>dfs.nameservices</name>
    <value>nameservice1</value>
  </property>
  <property>
    <name>dfs.client.failover.proxy.provider.nameservice1</name>
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  </property>
  <property>
    <name>dfs.ha.automatic-failover.enabled.nameservice1</name>
    <value>true</value>
  </property>
  <property>
    <name>ha.zookeeper.quorum</name>
    <value>hadoop12.domain.local:2181,hadoop13.domain.local:2181,hadoop14.domain.local:2181</value>
  </property>
  <property>
    <name>dfs.ha.namenodes.nameservice1</name>
    <value>namenode114,namenode137</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.nameservice1.namenode114</name>
    <value>hadoop12.domain.local:8020</value>
  </property>
  <property>
    <name>dfs.namenode.servicerpc-address.nameservice1.namenode114</name>
    <value>hadoop12.domain.local:8022</value>
  </property>
  <property>
    <name>dfs.namenode.http-address.nameservice1.namenode114</name>
    <value>hadoop12.domain.local:50070</value>
  </property>
  <property>
    <name>dfs.namenode.https-address.nameservice1.namenode114</name>
    <value>hadoop12.domain.local:50470</value>
  </property>
  <property>
    <name>dfs.namenode.rpc-address.nameservice1.namenode137</name>
    <value>hadoop14.domain.local:8020</value>
  </property>
  <property>
    <name>dfs.namenode.servicerpc-address.nameservice1.namenode137</name>
    <value>hadoop14.domain.local:8022</value>
  </property>
  <property>
    <name>dfs.namenode.http-address.nameservice1.namenode137</name>
    <value>hadoop14.domain.local:50070</value>
  </property>
  <property>
    <name>dfs.namenode.https-address.nameservice1.namenode137</name>
    <value>hadoop14.domain.local:50470</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.blocksize</name>
    <value>134217728</value>
  </property>
  <property>
    <name>dfs.client.use.datanode.hostname</name>
    <value>true</value>
  </property>
  <property>
    <name>fs.permissions.umask-mode</name>
    <value>022</value>
  </property>
  <property>
    <name>dfs.namenode.acls.enabled</name>
    <value>false</value>
  </property>
  <property>
    <name>dfs.client.read.shortcircuit</name>
    <value>false</value>
  </property>
  <property>
    <name>dfs.domain.socket.path</name>
    <value>/var/run/hdfs-sockets/dn</value>
  </property>
  <property>
    <name>dfs.client.read.shortcircuit.skip.checksum</name>
    <value>false</value>
  </property>
  <property>
    <name>dfs.client.domain.socket.data.traffic</name>
    <value>false</value>
  </property>
  <property>
    <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
    <value>true</value>
  </property>
</configuration>
InformationsquelleAutor MrE | 2014-11-28