web-dev-qa-db-ja.com

Hadoopクラスターのセットアップ-Java.net.ConnectException:接続が拒否されました

疑似分散モードでhadoop-clusterをセットアップしたい。私は、Namenode、Datanode、Jobtracker、Tasktrackerをマシンで起動するなど、すべてのセットアップ手順を実行することができました。

その後、いくつかの典型的なプログラムを実行しようとしましたが、Java.net.ConnectException: Connection refusedエラーに直面しました。いくつかの操作をスタンドアロンモードで実行する最初のステップに戻り、同じ問題に直面しました。

すべてのインストール手順のtriple-checkを実行しましたが、修正方法がわかりません。 (私はHadoopとUbuntuの初心者であるため、ガイドまたはヒントを提供する場合は「考慮に入れる」ようにお願いします)。

これはエラー出力です。

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ファイル:

# 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 file 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ファイル:

<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ファイル:

<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ファイル:

<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ファイル:

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

hduser@marta-komputer:/usr/local/hadoop$ bin/hdfs namenode -formatを実行すると、次のような出力が得られます(一部を(...)に置き換えます):

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
************************************************************/

dfsおよびyarnを開始すると、次の出力が得られます。

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

その直後にjpsを呼び出すと、次の結果が得られます。

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

netstat出力:

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ファイル:

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

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

更新1。

core-site.xmlを更新したところ、次のようになりました。

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

しかし、私はエラーを受け取り続けます-今から始めます:

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

telnet localhost 9000が機能していないことにも気付きました。

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

私にとってこれらのステップはうまくいきました

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

こんにちはconf/core-site.xmlを編集して、localhostを0.0.0.0に変更します。以下の設定を使用してください。うまくいくはずです。

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

OPでも同様の問題がありました。端末の出力が示唆するように、私は http://wiki.Apache.org/hadoop/ConnectionRefused に行きました

私はここで提案されているように/ etc/hostsファイルを変更しようとしました。

最後に、そのままにしておきます。以下は私の/ 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

最後に、namenodedid notが正しく起動したことがわかりました。つまり、ターミナルでSudo netstat -lpten | grep Javaと入力しても、何もありませんポート9000で実行中のJVMプロセス(リスニング)。

そこで、namenodeとdatanodeにそれぞれ2つのディレクトリを作成しました(まだ作成していない場合)。私が置いた場所に置く必要はありません。hadoopディレクトリに基づいて置き換えてください。つまり.

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

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>

ターミナルで、スクリプトstop-dfs.shおよびstop-yarn.shを使用してhdfsとyarnを停止します。これらはhadoopディレクトリ/ sbinにあります。私の場合、それは/home/hadoopuser/hadoop-2.6.2/sbin/です。

次に、スクリプトstart-dfs.shおよびstart-yarn.shを使用してhdfsとyarnを起動します。起動後、ターミナルでjpsと入力して、JVMプロセスが正しく実行されているかどうかを確認します。次のように表示されます。

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

その後、再びnetstatを使用して、namenodeがポート9000をリッスンしているかどうかを確認してください。

Sudo netstat -lpten | grep Java

Namenodeのセットアップに成功すると、ターミナル出力に次のように表示されます。

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

次に、コマンドを入力してくださいhdfs dfs -mkdir /user/hadoopuserこのコマンドが正常に実行された場合、hdfs dfs -ls /userでHDFSユーザーディレクトリにディレクトリをリストできます。

3
leoflower

netstat出力から、プロセスがアドレス127.0.0.1でリッスンしていることがわかります。

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

例外メッセージから、アドレス127.0.1.1に接続しようとしていることがわかります。

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

さらに例外では言及されています

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

このページで見つけます

/ etc/hostsに127.0.0.1または127.0.1.1にマップされたホスト名のエントリがないことを確認します(Ubuntuはこのことで有名です)

したがって、結論は/etc/hostsのこの行を削除することです

127.0.1.1       marta-komputer
3
SubOptimal

私にとっては、飼育係をクラスター化できないということでした。

hdfs haadmin -getServiceState 1
active

hdfs haadmin -getServiceState 2
active

Hadoop-hdfs-zkfc- [hostname] .logに示されたもの:

2017-04-14 11:46:55,351警告org.Apache.hadoop.ha.HealthMonitor:Host/192.168.1.55:9000でNameNodeの状態を監視しようとするトランスポートレベルの例外:Java.net.ConnectException:Connection refused Call From Host:9000へのHost/192.168.1.55は、接続例外で失敗しました:Java.net.ConnectException:Connection refused;詳細については、以下を参照してください。 http://wiki.Apache.org/hadoop/ConnectionRefused

解決:

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

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

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

HDFSがオンラインであることを確認してください。 $HADOOP_HOME/sbin/start-dfs.shで開始したら、telnet localhost 9001を使用したテストが機能するはずです。

2
nikk

ファイアウォールの設定を確認して設定します

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

localhostをマシン名に置き換えます

1
Tinku

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

11696 ResourceManager

11842 NodeManager

11171 NameNode

11523 SecondaryNameNode

12167 Jps

DataNodeはどこにありますか? Connection refused問題は、アクティブでないDataNodeが原因である可能性もあります。 datanodeログで問題を確認してください。

更新:

このエラーの場合:

15/03/01 00:59:34 INFO client.RMProxy:/0.0.0.0:8032のResourceManagerへの接続Java.net.ConnectException:marta-komputer.home/192.168.1.8からmarta-komputer:9000への呼び出しに失敗しました接続例外:Java.net.ConnectException:接続は拒否されました。詳細については、以下を参照してください。 http://wiki.Apache.org/hadoop/ConnectionRefused

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>

Hadoopプロセスを再起動します。

1
Rajesh N
  • 次のように停止します:stop-all.sh

  • namenode-のフォーマット:hadoop namenode -format

  • 再びstart-:start-all.sh

0
Shubham Sinha

このプロパティをhdfs-site.xmlに追加して、同じ問題を解決しました

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

あなたの問題は非常に興味深いものです。 Hadoopのセットアップは、システムの複雑さと関連する多くの可動部品のために、しばらくイライラする可能性があります。あなたが直面した問題は間違いなくファイアウォールの問題だと思います。私のhadoopクラスターにも同様のセットアップがあります。コマンドで追加されたファイアウォールルールの場合:

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

私は正確な問題を見ることができます:

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)

次のコマンドでファイアウォール設定を確認できます。

/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   

疑わしいルールが特定されると、次のようなコマンドで削除できます。

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

これで、接続が完了するはずです。

0
Paul H.

私の経験では

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

64ビットバージョンのOSと、32ビットのhadoopインストールがあります。参照 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

この問題は、ssh公開キー認証に関連しています。 sshのセットアップに関する詳細を入力してください。

完全な手順を確認するには、 this リンクを参照してください。

情報も提供します

cat $HOME/.ssh/authorized_keys

結果を返すかどうか。

0
Prachil Tambe

/ etc/hosts内:

  1. 次の行を追加します。

your-ip-address your-Host-name

例:192.168.1.8マスター

/ etc/hosts内:

  1. 127.0.1.1の行を削除します(これによりループバックが発生します)

  2. コアサイトで、localhostをyour-ipまたはyour-hostnameに変更します

次に、クラスターを再起動します。

0
Debodzire Paul