hadoop:java.net.connectexception:连接被拒绝

nx7onnlm  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(519)

你好,我一直在努力学习本教程:http://www.tutorialspoint.com/apache_flume/fetching_twitter_data.htm 很长一段时间以来,我完全停留在第3步:在hdfs中创建一个目录。我已经运行了start-dfs.sh和start-yarn.sh,它们似乎都正常工作,因为我得到了与教程相同的输出,但是当我尝试运行时:

hdfs dfs -mkdir hdfs://localhost:9000/user/Hadoop/twitter_data

我一直收到同样的错误:

mkdir: Call From trz-VirtualBox/10.0.2.15 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

我不明白为什么,因为我到处寻找,尝试了许多解决办法,但似乎没有取得进展。我将列出所有可能导致此问题的文件,但我可能错了:my core.site.xml是:

<configuration>
<property>  
<name>hadoop.tmp.dir</name>
<value>/Public/hadoop-2.7.1/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

我的mapred-site.xml是:

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>

我的hdfs.site.xml是:

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

我正在虚拟机上运行Ubuntu14.04.4 lts。我的~/.bashrc看起来是这样的:

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop/bin 
export HADOOP_HOME=/usr/local/hadoop/bin
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

# flume

export FLUME_HOME=/usr/local/Flume
export PATH=$PATH:/FLUME_HOME/apache-flume-1.6.0-bin/bin
export CLASSPATH=$CLASSPATH:/FLUME_HOME/apache-flume-1.6.0-bin/lib/*

最后,我的/etc/hosts文件被设置为:

127.0.0.1  localhost
10.0.2.15  trz-VirtualBox
10.0.2.15  hadoopmaster

# 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

添加的hadoopmaster我目前没有使用,这是我试图通过尝试不使用本地主机来解决这个问题的一个尝试(没有工作)。trzvirtualbox最初是127.0.1.1,但我读到你应该使用你的真实ip地址?两个都没用,所以我不确定。我发布了所有这些文件,因为我不知道错误在哪里。我不认为这是一个路径问题(我有很多之前,我到这一步,并能够解决他们自己),所以我的想法。我已经做了好几个小时了,所以任何帮助都是非常感谢的。谢谢您。

lvjbypge

lvjbypge1#

通过以下教程找到了我的答案:http://codesfusion.blogspot.in/2013/10/setup-hadoop-2x-220-on-ubuntu.html
然后通过这些编辑:https://stackoverflow.com/a/32041603/3878508

brjng4g3

brjng4g32#

您必须设置对hadoop目录的权限

sudo chown -R user:pass /hadoop_path/hadoop

然后启动集群并运行jps命令来查看datanode和namenode进程。

pkwftd7m

pkwftd7m3#

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

相关问题