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

时间:2015-04-27 20:31:40

标签: hadoop connection-refused

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

从despubuntu-ThinkPad-E420 / 127.0.1.1调用localhost:54310连接异常失败:java.net.ConnectException:连接被拒绝;有关详细信息,请参阅: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>

HDFS-site.xml中

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

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

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

10650 Jps
4162 Main
5255 NailgunRunner
20831 Launcher

我需要帮助......

5 个答案:

答案 0 :(得分:4)

确保实际启动了core-site.xml中设置为端口9000的DFS。您可以使用jps命令进行检查。您可以使用sbin/start-dfs.sh

启动它

答案 1 :(得分:2)

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

Step1:从设置.bashrc开始:

vi $HOME/.bashrc

将以下行放在文件的末尾:(将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

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

# The java implementation to use.  Required.
export JAVA_HOME=/usr/lib/jvm/java-6-sun

步骤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

第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>

第5步:编辑mapred-site.xml

<property>
  <name>mapred.job.tracker</name>
  <value>localhost:54311</value>
</property>

第6步:编辑hdfs-site.xml

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>

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

 $ /usr/local/hadoop/bin/hadoop namenode -format

希望这会对你有所帮助

答案 2 :(得分:0)

我遇到了同样的问题。您可以在键入时看到Name节点,DataNode,资源管理器和任务管理器守护程序正在运行。所以只需要start-all.sh然后所有守护进程开始运行,现在你可以访问HDFS。

答案 3 :(得分:0)

首先在命令行输入 jps 命令检查java进程是否正常。在运行jps命令时,必须执行以下过程 - &gt;&gt;

  • 数据管理部
  • JPS
  • 的NameNode
  • SecondaryNameNode

如果以下进程未运行,则首先使用以下命令启动名称节点 - &gt;&gt; 的 start-dfs.sh

这对我有用,并删除了你说的错误。

答案 4 :(得分:0)

我得到了类似的错误。检查后发现我的namenode服务处于停止状态。

  

检查namenode sudo status hadoop-hdfs-namenode

的状态

如果它未处于启动/运行状态

  

启动namenode服务sudo start hadoop-hdfs-namenode

请记住,名称节点服务在重新启动后完全正常运行需要一些时间。它读取内存中的所有hdfs编辑。您可以使用命令tail -f /var/log/hadoop-hdfs/{Latest log file}

检查/ var / log / hadoop-hdfs /中的进度