你好,我一直在努力学习本教程: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地址?两个都没用,所以我不确定。我发布了所有这些文件,因为我不知道错误在哪里。我不认为这是一个路径问题(我有很多之前,我到这一步,并能够解决他们自己),所以我的想法。我已经做了好几个小时了,所以任何帮助都是非常感谢的。谢谢您。
3条答案
按热度按时间lvjbypge1#
通过以下教程找到了我的答案:http://codesfusion.blogspot.in/2013/10/setup-hadoop-2x-220-on-ubuntu.html
然后通过这些编辑:https://stackoverflow.com/a/32041603/3878508
brjng4g32#
您必须设置对hadoop目录的权限
然后启动集群并运行jps命令来查看datanode和namenode进程。
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}