Java 如何在本地(独立)模式下运行Hadoop而不出现ConnectionRejected异常?
在“Hadoop:设置单节点集群”教程()之后,我尝试在本地(独立)模式下运行Hadoop,但我遇到了ConnectionRejected异常。当我尝试运行此命令时:Java 如何在本地(独立)模式下运行Hadoop而不出现ConnectionRejected异常?,java,hadoop,connection,Java,Hadoop,Connection,在“Hadoop:设置单节点集群”教程()之后,我尝试在本地(独立)模式下运行Hadoop,但我遇到了ConnectionRejected异常。当我尝试运行此命令时: bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+' 我得到以下信息: java.net.ConnectException: Call From 4295i/127.0.1.
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
我得到以下信息:
java.net.ConnectException: Call From 4295i/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused;
随后是一个长堆栈跟踪,以及指向的链接如何避免此异常?
或者,如何执行以下3个步骤?(它们是上面链接中的说明选项)
以下是我在core-site.xml中的配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/USERNAME/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/USERNAME/pseudo/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
fs.defaultFS
hdfs://localhost:9000
以下是我在hdfs-site.xml中的配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/USERNAME/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/USERNAME/pseudo/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
dfs.name.dir
/home/USERNAME/pseudo/dfs/name
dfs.data.dir
/home/USERNAME/pseudo/dfs/data
dfs.replication
1.
我对mapred-site.xml.template和warn-site.xml的配置是空的。我发现这些配置存在一些问题。您提到的存储namenode和datanode数据的路径不是绝对路径。它应该以斜杠(/)开头。我所做的更改如下所示。 另一个建议是最好将此目录保留在用户主目录之外
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/USERNAME/pseudo/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/USERNAME/pseudo/dfs/data</value>
</property>
dfs.name.dir
/home/USERNAME/pseudo/dfs/name
dfs.data.dir
/home/USERNAME/pseudo/dfs/data
Namenode未运行。@Amal G Jose如何运行它?cd$HADOOP\u HOME/bin,sh stop-all.sh,sh start all。sh@AmalGJose我在$HADOOP_HOME/sbin中找到start-all.sh并运行了./start-all.sh。然后,我再次根据我的问题运行命令,得到了相同的异常。@Amal G Jose你还在吗?我在hdfs-site.xml中更新了我的配置,在主页前面有一个“/”。有点不对劲,因为当我运行start-all.sh,然后运行jps查看正在运行的进程时,namenode没有启动。仅启动NodeManager、DataNode、SecondaryNameNode和ResourceManager。请检查dfs.name.dir的目录权限。在开始之前执行namenode格式。我应该在哪个目录中查找dfs.name.dir?请按照以下步骤操作。使用本文档中提到的配置。清除hdfs-site.xml和core-site.xml中的所有conf。我无法执行第一行sudomkdir-p/app/hadoop/tmp
,因为我不在sudoers文件中。