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

时间:2016-06-05 02:42:55

标签: java hadoop ubuntu-14.04 flume-ng flume-twitter

您好我一直在尝试按照本教程: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

我无法弄清楚为什么我到处搜索并尝试了一些解决方案,但似乎无法取得进展。我将列出我认为可能导致此问题的所有文件,但我可能错了:我的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>

我正在虚拟机上运行Ubuntu 14.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,这是我试图通过尝试不使用本地主机(没有工作)来解决这个问题之一。 trz-VirtualBox最初是127.0.1.1,但我读到你应该使用你的真实IP地址?两者都没有,所以我不确定。我发布了所有这些文件,因为我不知道错误在哪里。我不认为这是一个路径问题(在我完成这一步之前我已经做了很多事情并且能够自己解决它们)所以我没有想法。我已经在这里工作了几个小时,所以任何帮助都表示赞赏。谢谢。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您必须设置hadoop目录的权限

sudo chown -R user:pass /hadoop_path/hadoop

然后启动集群并运行jps命令以查看DataNode和NameNode进程。

答案 2 :(得分:1)

我得到了类似的错误。检查后发现我的namenode服务处于停止状态。 alert.addButton(withTitle: "Save Changes").refusesFirstResponder = true alert.addButton(withTitle: "Don't Save").refusesFirstResponder = true - 检查namenode的状态

如果它不处于启动/运行状态 sudo status hadoop-hdfs-namenode - 启动namenode服务

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

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