java.net.connectexception:连接被拒绝

gr8qqesn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(5)|浏览(784)

我想连接到hdfs(在localhost中),但出现了一个错误:
拨打ubuntu-thinkpad-e420/127.0.1.1至localhost:54310 failed on连接异常:java.net.connectexception:连接被拒绝;有关详细信息,请参阅:http://wiki.apache.org/hadoop/connectionrefused
我遵循其他帖子中的所有步骤,但我没有解决我的问题。我使用hadoop 2.7,这是:
core-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

我需要帮助。。。

xzlaal3s

xzlaal3s1#

通过在命令行中键入jps命令,首先检查java进程是否正常工作。在运行jps命令时,必须运行以下进程-->>
数据节点
日本
名称节点
次要名称节点
如果以下进程未运行,则首先使用以下命令-->>start-dfs.sh启动名称节点
这对我来说是可行的,并且消除了你所说的错误。

4c8rllxm

4c8rllxm2#

我也有同样的问题。键入时可以看到name node、datanode、resource manager和task manager守护进程正在运行。所以只要执行start-all.sh,然后所有守护进程开始运行,现在就可以访问hdfs了。

dbf7pr2w

dbf7pr2w3#

确保在中设置为端口9000的dfs core-site.xml 实际上已经开始了。你可以和我核对一下 jps 命令。你可以从 sbin/start-dfs.sh

c6ubokkw

c6ubokkw4#

我猜您没有正确设置hadoop群集请遵循以下步骤:
步骤1:从设置开始。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

第二步:编辑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

希望这对你有帮助

ssm49v7z

ssm49v7z5#

我也犯了类似的错误。检查后,我发现我的namenode服务处于stopped状态。
检查namenode的状态 sudo status hadoop-hdfs-namenode 如果未处于启动/运行状态
启动namenode服务 sudo start hadoop-hdfs-namenode 请记住,重新启动后,name node服务需要一段时间才能完全正常工作。它读取内存中所有的hdfs编辑。您可以在/var/log/hadoop hdfs/using命令中检查这个过程 tail -f /var/log/hadoop-hdfs/{Latest log file}

相关问题