1

您好,我一直在尝试遵循本教程: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 地址?两者都没有,所以我不确定。我发布了所有这些文件,因为我不知道错误在哪里。我不认为这是一个路径问题(在我进入这一步之前我有很多,并且能够自己解决它们)所以我没有想法。我已经在这工作了几个小时了,所以感谢您的帮助。谢谢你。

4

3 回答 3

1

按照本教程找到我的答案:http: //codesfusion.blogspot.in/2013/10/setup-hadoop-2x-220-on-ubuntu.html

然后进行这些编辑: https ://stackoverflow.com/a/32041603/3878508

于 2016-06-06T04:41:52.570 回答
1

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

sudo chown -R user:pass /hadoop_path/hadoop

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

于 2017-01-13T18:47:52.730 回答
1

我遇到了类似的错误。检查后我发现我的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}

于 2017-09-16T14:47:46.047 回答