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
Pour moi, ces étapes ont fonctionné
stop-all.sh
hadoop namenode -format
start-all.sh
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>
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
À 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
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
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 9001
devrait marcher.
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
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.
Arrêtez-le par: stop-all.sh
formater le namenode-: hadoop namenode -format
nouveau start-: start-all.sh
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>
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.
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.
Dans/etc/hosts:
votre-adresse-ip votre-nom-hôte
exemple: maître 192.168.1.8
Dans/etc/hosts:
Supprimer la ligne avec 127.0.1.1 (Cela entraînera un retour en arrière)
Dans votre site principal, changez localhost en your-ip ou your-hostname
Maintenant, redémarrez le cluster.