Hadoop:java.net.ConnectException:连接被拒绝
Posted
技术标签:
【中文标题】Hadoop:java.net.ConnectException:连接被拒绝【英文标题】:Hadoop: java.net.ConnectException: Connection refused 【发布时间】:2016-06-05 02:42:54 【问题描述】:您好,我一直在努力学习本教程: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 地址?两者都没有,所以我不确定。我发布了所有这些文件,因为我不知道错误在哪里。我不认为这是一个路径问题(在我进入这一步之前我有很多,并且能够自己解决它们)所以我没有想法。我已经在这工作了几个小时了,所以感谢您的帮助。谢谢你。
【问题讨论】:
第2步的输出是什么,有没有错误日志? 输出第一个命令:trz@trz-VirtualBox:/usr/local/hadoop/sbin$ sudo ./start-dfs.sh 在[localhost] localhost上启动namenodes:启动namenode,登录到/usr /local/hadoop/logs/hadoop-root-namenode-trz-VirtualBox.out localhost:启动datanode,登录到/usr/local/hadoop/logs/hadoop-root-datanode-trz-VirtualBox.out 启动辅助namenodes [0.0 .0.0] 0.0.0.0:启动secondarynamenode,登录到/usr/local/hadoop/logs/hadoop-root-secondarynamenode-trz-VirtualBox.out 输出第二条命令:trz@trz-VirtualBox:/usr/local/hadoop/sbin$ sudo ./start-yarn.sh 启动纱线守护进程启动资源管理器,登录到/usr/local/hadoop/ logs/yarn-root-resourcemanager-trz-VirtualBox.out localhost:启动nodemanager,登录到/usr/local/hadoop/logs/yarn-root-nodemanager-trz-VirtualBox.out 【参考方案1】:按照本教程找到我的答案:http://codesfusion.blogspot.in/2013/10/setup-hadoop-2x-220-on-ubuntu.html
然后进行这些编辑: https://***.com/a/32041603/3878508
【讨论】:
【参考方案2】:你必须设置hadoop目录的权限
sudo chown -R user:pass /hadoop_path/hadoop
然后启动集群,运行jps命令查看DataNode和NameNode进程。
【讨论】:
【参考方案3】:我遇到了类似的错误。检查后我发现我的namenode服务处于停止状态。
sudo status hadoop-hdfs-namenode
-
检查名称节点的状态
如果它没有处于启动/运行状态
sudo start hadoop-hdfs-namenode
-
启动namenode服务
请记住,名称节点服务在重新启动后需要一段时间才能完全正常运行。它读取内存中的所有 hdfs 编辑。您可以在 /var/log/hadoop-hdfs/ 中使用命令tail -f /var/log/hadoop-hdfs/Latest log file
来查看进度
【讨论】:
以上是关于Hadoop:java.net.ConnectException:连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章