web-dev-qa-db-fra.com

Configuration du cluster Hadoop - Java.net.ConnectException: connexion refusée

Je souhaite configurer un cluster hadoop en mode pseudo-distribué. J'ai réussi à effectuer toutes les étapes de configuration, y compris le démarrage d'un Namenode, d'un Datanode, d'un Jobtracker et d'un Tasktracker sur ma machine.

Ensuite, j'ai essayé de lancer des programmes exemplaires et j'ai fait face au Java.net.ConnectException: Connection refused Erreur. Je suis revenu aux toutes premières étapes de l'exécution de certaines opérations en mode autonome et j'ai rencontré le même problème.

J'ai même effectué une triple vérification de toutes les étapes de l'installation et je ne sais pas comment le réparer. (Je suis nouveau sur Hadoop et je suis un utilisateur débutant d’Ubuntu. Je vous prie de bien vouloir en tenir compte si vous fournissez un guide ou un conseil).

Ceci est le sortie d'erreur Je continue à recevoir:

hduser@marta-komputer:/usr/local/hadoop$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'
15/02/22 18:23:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
15/02/22 18:23:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
Java.net.ConnectException: Call From marta-komputer/127.0.1.1 to localhost:9000 failed on connection exception: Java.net.ConnectException: Connection refused; For more details see:  http://wiki.Apache.org/hadoop/ConnectionRefused
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:62)
    at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:45)
    at Java.lang.reflect.Constructor.newInstance(Constructor.Java:408)
    at org.Apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.Java:791)
    at org.Apache.hadoop.net.NetUtils.wrapException(NetUtils.Java:731)
    at org.Apache.hadoop.ipc.Client.call(Client.Java:1472)
    at org.Apache.hadoop.ipc.Client.call(Client.Java:1399)
    at org.Apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.Java:232)
    at com.Sun.proxy.$Proxy9.delete(Unknown Source)
    at org.Apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.delete(ClientNamenodeProtocolTranslatorPB.Java:521)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:483)
    at org.Apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.Java:187)
    at org.Apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.Java:102)
    at com.Sun.proxy.$Proxy10.delete(Unknown Source)
    at org.Apache.hadoop.hdfs.DFSClient.delete(DFSClient.Java:1929)
    at org.Apache.hadoop.hdfs.DistributedFileSystem$12.doCall(DistributedFileSystem.Java:638)
    at org.Apache.hadoop.hdfs.DistributedFileSystem$12.doCall(DistributedFileSystem.Java:634)
    at org.Apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.Java:81)
    at org.Apache.hadoop.hdfs.DistributedFileSystem.delete(DistributedFileSystem.Java:634)
    at org.Apache.hadoop.examples.Grep.run(Grep.Java:95)
    at org.Apache.hadoop.util.ToolRunner.run(ToolRunner.Java:70)
    at org.Apache.hadoop.examples.Grep.main(Grep.Java:101)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:483)
    at org.Apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.Java:71)
    at org.Apache.hadoop.util.ProgramDriver.run(ProgramDriver.Java:144)
    at org.Apache.hadoop.examples.ExampleDriver.main(ExampleDriver.Java:74)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:483)
    at org.Apache.hadoop.util.RunJar.run(RunJar.Java:221)
    at org.Apache.hadoop.util.RunJar.main(RunJar.Java:136)
Caused by: Java.net.ConnectException: Connection refused
    at Sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at Sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.Java:716)
    at org.Apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.Java:206)
    at org.Apache.hadoop.net.NetUtils.connect(NetUtils.Java:530)
    at org.Apache.hadoop.net.NetUtils.connect(NetUtils.Java:494)
    at org.Apache.hadoop.ipc.Client$Connection.setupConnection(Client.Java:607)
    at org.Apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.Java:705)
    at org.Apache.hadoop.ipc.Client$Connection.access$2800(Client.Java:368)
    at org.Apache.hadoop.ipc.Client.getConnection(Client.Java:1521)
    at org.Apache.hadoop.ipc.Client.call(Client.Java:1438)
    ... 32 more

etc/hadoop/hadoop-env.sh fichier:

# The Java implementation to use.
export Java_HOME=/usr/lib/jvm/Java-8-Oracle

# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol.  Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}

# Extra Java CLASSPATH elements.  Automatically insert capacity-scheduler.
for f in $HADOOP_HOME/contrib/capacity-scheduler/*.jar; do
  if [ "$HADOOP_CLASSPATH" ]; then
    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
  else
    export HADOOP_CLASSPATH=$f
  fi
done

# The maximum amount of heap to use, in MB. Default is 1000.
#export HADOOP_HEAPSIZE=
#export HADOOP_NAMENODE_INIT_HEAPSIZE=""

# Extra Java runtime options.  Empty by default.
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

# Command specific options appended to HADOOP_OPTS when specified
export HADOOP_NAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS"
export HADOOP_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS"

export HADOOP_SECONDARYNAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_SECONDARYNAMENODE_OPTS"

export HADOOP_NFS3_OPTS="$HADOOP_NFS3_OPTS"
export HADOOP_PORTMAP_OPTS="-Xmx512m $HADOOP_PORTMAP_OPTS"

# The following applies to multiple commands (fs, dfs, fsck, distcp etc)
export HADOOP_CLIENT_OPTS="-Xmx512m $HADOOP_CLIENT_OPTS"
#HADOOP_Java_PLATFORM_OPTS="-XX:-UsePerfData $HADOOP_Java_PLATFORM_OPTS"

# On secure datanodes, user to run the datanode as after dropping privileges.
# This **MUST** be uncommented to enable secure HDFS if using privileged ports
# to provide authentication of data transfer protocol.  This **MUST NOT** be
# defined if SASL is configured for authentication of data transfer protocol
# using non-privileged ports.
export HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER}

# Where log files are stored.  $HADOOP_HOME/logs by default.
#export HADOOP_LOG_DIR=${HADOOP_LOG_DIR}/$USER

# Where log files are stored in the secure data environment.
export HADOOP_SECURE_DN_LOG_DIR=${HADOOP_LOG_DIR}/${HADOOP_HDFS_USER}

# HDFS Mover specific parameters
###
# Specify the JVM options to be used when starting the HDFS Mover.
# These options will be appended to the options specified as HADOOP_OPTS
# and therefore may override any similar flags set in HADOOP_OPTS
#
# export HADOOP_MOVER_OPTS=""

###
# Advanced Users Only!
###

# The directory where pid files are stored. /tmp by default.
# NOTE: this should be set to a directory that can only be written to by 
#       the user that will run the hadoop daemons.  Otherwise there is the
#       potential for a symlink attack.
export HADOOP_PID_DIR=${HADOOP_PID_DIR}
export HADOOP_SECURE_DN_PID_DIR=${HADOOP_PID_DIR}

# A string representing this instance of hadoop. $USER by default.
export HADOOP_IDENT_STRING=$USER

. bashrc fichier fragment lié à Hadoop:

# -- HADOOP ENVIRONMENT VARIABLES START -- #
export Java_HOME=/usr/lib/jvm/Java-8-Oracle
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
# -- HADOOP ENVIRONMENT VARIABLES END -- #

/ usr/local/hadoop/etc/hadoop/core-site.xml fichier:

<configuration>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/local/hadoop_tmp</value>
  <description>A base for other temporary directories.</description>
</property>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

</configuration>

/ usr/local/hadoop/etc/hadoop/hdfs-site.xml fichier:

<configuration>
<property>
      <name>dfs.replication</name>
      <value>1</value>
 </property>
 <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/usr/local/hadoop_tmp/hdfs/namenode</value>
 </property>
 <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/usr/local/hadoop_tmp/hdfs/datanode</value>
 </property>
</configuration>

/ usr/local/hadoop/etc/hadoop/yarn-site.xml fichier:

<configuration> 
<property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
</property>
<property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.Apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

/ usr/local/hadoop/etc/hadoop/mapred-site.xml fichier:

<configuration>
<property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>
<configuration>

Fonctionnement hduser@marta-komputer:/usr/local/hadoop$ bin/hdfs namenode -format donne comme résultat un résultat (je remplace une partie de sa partie par (...)):

hduser@marta-komputer:/usr/local/hadoop$ bin/hdfs namenode -format
15/02/22 18:50:47 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   Host = marta-komputer/127.0.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 2.6.0
STARTUP_MSG:   classpath = /usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/htrace-core-3.0.4.jar:/usr/local/hadoop/share/hadoop/common/lib/commons-cli (...)2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-app-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-shuffle-2.6.0.jar:/usr/local/hadoop/contrib/capacity-scheduler/*.jar
STARTUP_MSG:   build = https://git-wip-us.Apache.org/repos/asf/hadoop.git -r e3496499ecb8d220fba99dc5ed4c99c8f9e33bb1; compiled by 'jenkins' on 2014-11-13T21:10Z
STARTUP_MSG:   Java = 1.8.0_31
************************************************************/
15/02/22 18:50:47 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
15/02/22 18:50:47 INFO namenode.NameNode: createNameNode [-format]
15/02/22 18:50:47 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
Formatting using clusterid: CID-0b65621a-eab3-47a4-bfd0-62b5596a940c
15/02/22 18:50:48 INFO namenode.FSNamesystem: No KeyProvider found.
15/02/22 18:50:48 INFO namenode.FSNamesystem: fsLock is fair:true
15/02/22 18:50:48 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000
15/02/22 18:50:48 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostname-check=true
15/02/22 18:50:48 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec is set to 000:00:00:00.000
15/02/22 18:50:48 INFO blockmanagement.BlockManager: The block deletion will start around 2015 Feb 22 18:50:48
15/02/22 18:50:48 INFO util.GSet: Computing capacity for map BlocksMap
15/02/22 18:50:48 INFO util.GSet: VM type       = 64-bit
15/02/22 18:50:48 INFO util.GSet: 2.0% max memory 889 MB = 17.8 MB
15/02/22 18:50:48 INFO util.GSet: capacity      = 2^21 = 2097152 entries
15/02/22 18:50:48 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=false
15/02/22 18:50:48 INFO blockmanagement.BlockManager: defaultReplication         = 1
15/02/22 18:50:48 INFO blockmanagement.BlockManager: maxReplication             = 512
15/02/22 18:50:48 INFO blockmanagement.BlockManager: minReplication             = 1
15/02/22 18:50:48 INFO blockmanagement.BlockManager: maxReplicationStreams      = 2
15/02/22 18:50:48 INFO blockmanagement.BlockManager: shouldCheckForEnoughRacks  = false
15/02/22 18:50:48 INFO blockmanagement.BlockManager: replicationRecheckInterval = 3000
15/02/22 18:50:48 INFO blockmanagement.BlockManager: encryptDataTransfer        = false
15/02/22 18:50:48 INFO blockmanagement.BlockManager: maxNumBlocksToLog          = 1000
15/02/22 18:50:48 INFO namenode.FSNamesystem: fsOwner             = hduser (auth:SIMPLE)
15/02/22 18:50:48 INFO namenode.FSNamesystem: supergroup          = supergroup
15/02/22 18:50:48 INFO namenode.FSNamesystem: isPermissionEnabled = true
15/02/22 18:50:48 INFO namenode.FSNamesystem: HA Enabled: false
15/02/22 18:50:48 INFO namenode.FSNamesystem: Append Enabled: true
15/02/22 18:50:48 INFO util.GSet: Computing capacity for map INodeMap
15/02/22 18:50:48 INFO util.GSet: VM type       = 64-bit
15/02/22 18:50:48 INFO util.GSet: 1.0% max memory 889 MB = 8.9 MB
15/02/22 18:50:48 INFO util.GSet: capacity      = 2^20 = 1048576 entries
15/02/22 18:50:48 INFO namenode.NameNode: Caching file names occuring more than 10 times
15/02/22 18:50:48 INFO util.GSet: Computing capacity for map cachedBlocks
15/02/22 18:50:48 INFO util.GSet: VM type       = 64-bit
15/02/22 18:50:48 INFO util.GSet: 0.25% max memory 889 MB = 2.2 MB
15/02/22 18:50:48 INFO util.GSet: capacity      = 2^18 = 262144 entries
15/02/22 18:50:48 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033
15/02/22 18:50:48 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0
15/02/22 18:50:48 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension     = 30000
15/02/22 18:50:48 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
15/02/22 18:50:48 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
15/02/22 18:50:48 INFO util.GSet: Computing capacity for map NameNodeRetryCache
15/02/22 18:50:48 INFO util.GSet: VM type       = 64-bit
15/02/22 18:50:48 INFO util.GSet: 0.029999999329447746% max memory 889 MB = 273.1 KB
15/02/22 18:50:48 INFO util.GSet: capacity      = 2^15 = 32768 entries
15/02/22 18:50:48 INFO namenode.NNConf: ACLs enabled? false
15/02/22 18:50:48 INFO namenode.NNConf: XAttrs enabled? true
15/02/22 18:50:48 INFO namenode.NNConf: Maximum size of an xattr: 16384
Re-format filesystem in Storage Directory /usr/local/hadoop_tmp/hdfs/namenode ? (Y or N) Y
15/02/22 18:50:50 INFO namenode.FSImage: Allocated new BlockPoolId: BP-948369552-127.0.1.1-1424627450316
15/02/22 18:50:50 INFO common.Storage: Storage directory /usr/local/hadoop_tmp/hdfs/namenode has been successfully formatted.
15/02/22 18:50:50 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
15/02/22 18:50:50 INFO util.ExitUtil: Exiting with status 0
15/02/22 18:50:50 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at marta-komputer/127.0.1.1
************************************************************/

Démarrer dfs et yarn donne le résultat suivant:

hduser@marta-komputer:/usr/local/hadoop$ start-dfs.sh
15/02/22 18:53:05 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-marta-komputer.out
localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-marta-komputer.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-marta-komputer.out
15/02/22 18:53:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
hduser@marta-komputer:/usr/local/hadoop$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-marta-komputer.out
localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-marta-komputer.out

Appeler jps peu de temps après cela donne:

hduser@marta-komputer:/usr/local/hadoop$ jps
11696 ResourceManager
11842 NodeManager
11171 NameNode
11523 SecondaryNameNode
12167 Jps

netstat sortie:

hduser@marta-komputer:/usr/local/hadoop$ Sudo netstat -lpten | grep Java
tcp        0      0 0.0.0.0:8088            0.0.0.0:*               LISTEN      1001       690283      11696/Java      
tcp        0      0 0.0.0.0:42745           0.0.0.0:*               LISTEN      1001       684574      11842/Java      
tcp        0      0 0.0.0.0:13562           0.0.0.0:*               LISTEN      1001       680955      11842/Java      
tcp        0      0 0.0.0.0:8030            0.0.0.0:*               LISTEN      1001       684531      11696/Java      
tcp        0      0 0.0.0.0:8031            0.0.0.0:*               LISTEN      1001       684524      11696/Java      
tcp        0      0 0.0.0.0:8032            0.0.0.0:*               LISTEN      1001       680879      11696/Java      
tcp        0      0 0.0.0.0:8033            0.0.0.0:*               LISTEN      1001       687392      11696/Java      
tcp        0      0 0.0.0.0:8040            0.0.0.0:*               LISTEN      1001       680951      11842/Java      
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      1001       687242      11171/Java      
tcp        0      0 0.0.0.0:8042            0.0.0.0:*               LISTEN      1001       680956      11842/Java      
tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      1001       690252      11523/Java      
tcp        0      0 0.0.0.0:50070           0.0.0.0:*               LISTEN      1001       687239      11171/Java  

/ etc/hosts fichier:

127.0.0.1       localhost
127.0.1.1       marta-komputer

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

=============================================== ==

MISE À JOUR 1.

J'ai mis à jour le core-site.xml et maintenant j'ai:

<property>
<name>fs.default.name</name>
<value>hdfs://marta-komputer:9000</value>
</property>

mais je continue à recevoir l'erreur - commençant maintenant par:

15/03/01 00:59:34 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
Java.net.ConnectException: Call From marta-komputer.home/192.168.1.8 to marta-komputer:9000 failed on connection exception:     Java.net.ConnectException: Connection refused; For more details see:    http://wiki.Apache.org/hadoop/ConnectionRefused

J'ai aussi remarqué que telnet localhost 9000 ne fonctionne pas:

hduser@marta-komputer:~$ telnet localhost 9000
Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused
43
Marta Karas

Pour moi, ces étapes ont fonctionné

  1. stop-all.sh
  2. hadoop namenode -format
  3. start-all.sh
47
Abhash Kumar

Salut Editez votre fichier conf/core-site.xml et remplacez localhost par 0.0.0.0. Utilisez la conf ci-dessous. Cela devrait fonctionner.

<configuration>
  <property>
 <name>fs.default.name</name>
 <value>hdfs://0.0.0.0:9000</value>
</property>
16
Desly Peter

J'ai eu le même problème avec OP. Comme suggéré par la sortie du terminal, je suis allé à http://wiki.Apache.org/hadoop/ConnectionRefused

J’ai essayé de changer le fichier/etc/hosts comme suggéré ici, c’est-à-dire de supprimer 127.0.1.1 comme OP l’a suggéré, ce qui créerait une autre erreur.

Donc au final, je le laisse tel quel. Ce qui suit est mon/etc/hosts

127.0.0.1       localhost.localdomain   localhost
127.0.1.1       linux
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

En fin de compte, j’ai constaté que mon namenode n’avait pas démarré correctement , c’est-à-dire lorsque vous tapez Sudo netstat -lpten | grep Java dans le terminal, aucun processus JVM ne sera exécuté (en écoute) sur le port 9000.

J'ai donc créé deux répertoires pour namenode et datanode respectivement (si vous ne l'avez pas encore fait). Vous n'êtes pas obligé de mettre où je l'ai mis, veuillez le remplacer en fonction de votre répertoire hadoop. c'est à dire.

mkdir -p /home/hadoopuser/hadoop-2.6.2/hdfs/namenode
mkdir -p /home/hadoopuser/hadoop-2.6.2/hdfs/datanode

J'ai reconfiguré mon hdfs-site.xml .

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
   <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoopuser/hadoop-2.6.2/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoopuser/hadoop-2.6.2/hdfs/datanode</value>
    </property>
</configuration>

En terminal, arrêtez vos hdfs et fils avec le script stop-dfs.sh et stop-yarn.sh. Ils sont situés dans votre répertoire hadoop/sbin. Dans mon cas, c'est /home/hadoopuser/hadoop-2.6.2/sbin/.

Ensuite, démarrez votre fichier hdfs et fil avec le script start-dfs.sh et start-yarn.sh Après son démarrage, tapez jps dans votre terminal pour voir si vos processus JVM s'exécutent correctement. Il devrait montrer ce qui suit.

15678 NodeManager
14982 NameNode
15347 SecondaryNameNode
23814 Jps
15119 DataNode
15548 ResourceManager

Ensuite, essayez à nouveau d'utiliser netstat pour voir si votre namenode écoute le port 9000.

Sudo netstat -lpten | grep Java

Si vous avez correctement configuré le nom-code, vous devriez voir ce qui suit dans la sortie de votre terminal.

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1001 175157 14982/Java

Puis essayez de taper la commande hdfs dfs -mkdir /user/hadoopuser Si cette commande s’exécute avec succès, vous pouvez désormais répertorier votre répertoire dans le répertoire utilisateur HDFS par hdfs dfs -ls /user

3
leoflower

À partir de la sortie netstat, vous pouvez voir que le processus écoute à l'adresse 127.0.0.1

tcp        0      0 127.0.0.1:9000          0.0.0.0:*  ...

à partir du message d'exception, vous pouvez voir qu'il tente de se connecter à l'adresse 127.0.1.1

Java.net.ConnectException: Call From marta-komputer/127.0.1.1 to localhost:9000 failed ...

plus loin dans l'exception il est mentionné

For more details see:  http://wiki.Apache.org/hadoop/ConnectionRefused

sur cette page vous trouvez

Vérifiez qu'il n'y a pas d'entrée pour votre nom d'hôte mappée sur 127.0.0.1 ou 127.0.1.1 dans/etc/hosts (Ubuntu est notoire pour cela)

la conclusion est donc de supprimer cette ligne dans votre /etc/hosts

127.0.1.1       marta-komputer
3
SubOptimal

Pour moi, c'était que je ne pouvais pas regrouper mon gardien de zoo.

hdfs haadmin -getServiceState 1
active

hdfs haadmin -getServiceState 2
active

Mon hadoop-hdfs-zkfc- [nomhôte] .log a montré:

2017-04-14 11: 46: 55,351 WARN org.Apache.hadoop.ha.HealthMonitor: Exception de niveau de transport essayant de surveiller l'intégrité de NameNode sur l'hôte/192.168.1.55: 9000: Java.net.ConnectException: exception refusée de connexion. Hôte/192.168.1.55 à l'hôte: 9000 ont échoué lors d'une exception de connexion: Java.net.ConnectException: connexion refusée; Pour plus de détails, voir: http://wiki.Apache.org/hadoop/ConnectionRefused

solution:

hdfs-site.xml
  <property>
    <name>dfs.namenode.rpc-bind-Host</name>
      <value>0.0.0.0</value>
  </property>

avant

netstat -plunt

tcp        0      0 192.168.1.55:9000        0.0.0.0:*               LISTEN      13133/Java

nmap localhost -p 9000

Starting Nmap 6.40 ( http://nmap.org ) at 2017-04-14 12:15 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT     STATE  SERVICE
9000/tcp closed cslistener

après

netstat -plunt
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      14372/Java

nmap localhost -p 9000

Starting Nmap 6.40 ( http://nmap.org ) at 2017-04-14 12:28 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT     STATE SERVICE
9000/tcp open  cslistener
2
nataku981

Assurez-vous que HDFS est en ligne. Commencez par $HADOOP_HOME/sbin/start-dfs.sh Une fois que vous avez fait cela, votre test avec telnet localhost 9001devrait marcher.

2
nikk

Vérifiez le réglage et le paramétrage de votre pare-feu

  <property>
  <name>fs.default.name</name>
  <value>hdfs://MachineName:9000</value>
  </property>

remplace localhost par nom d'ordinateur

1
Tinku

hduser @ marta-komputer:/usr/local/hadoop $ jps

11696 ResourceManager

11842 NodeManager

11171 NameNode

11523 SecondaryNameNode

12167 Jps

Où est votre DataNode? Connection refused Le problème peut également être dû à l'absence de DataNode actif. Vérifiez les journaux de datanode pour les problèmes.

UPDATED:

Pour cette erreur:

15/03/01 00:59:34 client INFO.RMProxy: connexion à ResourceManager à /0.0.0.0:8032 Java.net.ConnectException: appel de marta-komputer.home/192.168.1.8 à marta-komputer: 9000 a échoué exception de connexion: Java.net.ConnectException: connexion refusée; Pour plus de détails, voir: http://wiki.Apache.org/hadoop/ConnectionRefused

Ajoutez ces lignes dans yarn-site.xml :

<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.8:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.8:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.8:8031</value>
</property>

Redémarrez les processus hadoop.

1
Rajesh N
  • Arrêtez-le par: stop-all.sh

  • formater le namenode-: hadoop namenode -format

  • nouveau start-: start-all.sh

0
Shubham Sinha

J'ai résolu le même problème en ajoutant cette propriété à hdfs-site.xml

<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
  </property>
0
B B

Votre problème est très intéressant. La configuration de Hadoop peut être frustrante à cause de la complexité du système et des nombreuses pièces mobiles impliquées. Je pense que le problème que vous avez rencontré est certainement un pare-feu. Mon cluster hadoop a une configuration similaire. Avec une règle de pare-feu ajoutée avec la commande:

 Sudo iptables -A INPUT -p tcp --dport 9000 -j REJECT

Je suis capable de voir le problème exact:

15/03/02 23:46:10 INFO client.RMProxy: Connecting to ResourceManager at  /0.0.0.0:8032
Java.net.ConnectException: Call From mybox/127.0.1.1 to localhost:9000 failed on connection exception: Java.net.ConnectException: Connection refused; For more details see:  http://wiki.Apache.org/hadoop/ConnectionRefused
     at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

Vous pouvez vérifier les paramètres de votre pare-feu avec la commande suivante:

/usr/local/hadoop/etc$ Sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
REJECT     tcp  --  anywhere             anywhere             tcp dpt:9000 reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

Une fois que la règle suspecte est identifiée, elle peut être supprimée avec une commande telle que:

 Sudo iptables -D INPUT -p tcp --dport 9000 -j REJECT 

Maintenant, la connexion devrait passer.

0
Paul H.

Dans mon expérience

15/02/22 18:23:04 WARN util.NativeCodeLoader: Unable to load native-hadoop
library for your platform... using builtin-Java classes where applicable

Vous pouvez avoir une version 64 bits du système d’exploitation et une installation hadoop 32 bits. se référer this

Java.net.ConnectException: Call From marta-komputer/127.0.1.1 to
localhost:9000 failed on connection exception: Java.net.ConnectException: 
connection refused; For more details see:   
http://wiki.Apache.org/hadoop/ConnectionRefused

ce problème fait référence à votre autorisation de clé publique ssh. veuillez fournir des détails sur votre configuration SSH.

S'il vous plaît se référer this lien pour vérifier les étapes complètes.

fournissez également des informations si

cat $HOME/.ssh/authorized_keys

renvoie n'importe quel résultat ou non.

0
Prachil Tambe

Dans/etc/hosts:

  1. Ajouter cette ligne:

votre-adresse-ip votre-nom-hôte

exemple: maître 192.168.1.8

Dans/etc/hosts:

  1. Supprimer la ligne avec 127.0.1.1 (Cela entraînera un retour en arrière)

  2. Dans votre site principal, changez localhost en your-ip ou your-hostname

Maintenant, redémarrez le cluster.

0
Debodzire Paul