Hadoop - java.net.ConnectException:连接被拒绝

Ale*_*lex 7 hadoop connection-refused

我想连接到hdfs(在localhost中),我有一个错误:

调用从despubuntu-ThinkPad-E420/127.0.1.1到localhost:54310在连接异常时失败:java.net.ConnectException:Connection refused; 有关更多详细信息,请参阅:http: //wiki.apache.org/hadoop/ConnectionRefused

我按照其他帖子中的所有步骤,但我没有解决我的问题.我使用hadoop 2.7,这是配置:

核心的site.xml

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/despubuntu/hadoop/name/data</value>
  </property>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:54310</value>
  </property>
</configuration>
Run Code Online (Sandbox Code Playgroud)

HDFS-site.xml中

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我输入/ usr/local/hadoop/bin/hdfs namenode -format和/usr/local/hadoop/sbin/start-all.sh

但是当我输入"jps"时,结果是:

10650 Jps
4162 Main
5255 NailgunRunner
20831 Launcher
Run Code Online (Sandbox Code Playgroud)

我需要帮助...

Yos*_*pil 2

我猜您没有正确设置 hadoop 集群,请按照以下步骤操作:

第 1 步:从设置 .bashrc 开始:

vi $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

将以下行放在文件末尾:(将 hadoop home 更改为您的)

# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop

# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-6-sun

# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs="hadoop fs"
unalias hls &> /dev/null
alias hls="fs -ls"

# If you have LZO compression enabled in your Hadoop cluster and
# compress job outputs with LZOP (not covered in this tutorial):
# Conveniently inspect an LZOP compressed file from the command
# line; run via:
#
# $ lzohead /hdfs/path/to/lzop/compressed/file.lzo
#
# Requires installed 'lzop' command.
#
lzohead () {
    hadoop fs -cat $1 | lzop -dc | head -1000 | less
}

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin
Run Code Online (Sandbox Code Playgroud)

步骤2:编辑hadoop-env.sh如下:

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-6-sun
Run Code Online (Sandbox Code Playgroud)

步骤 3:现在创建一个目录并设置所需的所有权和权限

$ sudo mkdir -p /app/hadoop/tmp
$ sudo chown hduser:hadoop /app/hadoop/tmp
# ...and if you want to tighten up security, chmod from 755 to 750...
$ sudo chmod 750 /app/hadoop/tmp
Run Code Online (Sandbox Code Playgroud)

步骤 4:编辑 core-site.xml

<property>
  <name>hadoop.tmp.dir</name>
  <value>/app/hadoop/tmp</value>
</property>

<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:54310</value>
</property>
Run Code Online (Sandbox Code Playgroud)

第5步:编辑mapred-site.xml

<property>
  <name>mapred.job.tracker</name>
  <value>localhost:54311</value>
</property>
Run Code Online (Sandbox Code Playgroud)

第6步:编辑hdfs-site.xml

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
Run Code Online (Sandbox Code Playgroud)

最后格式化你的hdfs(第一次设置Hadoop集群时需要这样做)

 $ /usr/local/hadoop/bin/hadoop namenode -format
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助