我一直在尝试在伪分布式模式下设置和运行Hadoop。但是当我输入
时bin / hadoop fs -mkdir输入
我得到了
mkdir:从连接异常调用h1 / 192.168.1.13到h1:9000失败:java.net.ConnectException:连接被拒绝;有关详细信息,请参阅:http://wiki.apache.org/hadoop/ConnectionRefused
这里是详细信息
芯-site.xml中
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/grid/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://h1:9000</value>
</property>
</configuration>
mapred-site.xml中
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>h1:9001</value>
</property>
<property>
<name>mapred.map.tasks</name>
<value>20</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>h1:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>h1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>h1:19888</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.http.address</name>
<value>h1:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address</name>
<value>h1:9001</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>h1:50090</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/grid/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
的/ etc /主机
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.13 h1
192.168.1.14 h2
192.168.1.15 h3
在hadoop namenode -format和start-all.sh之后
1702 ResourceManager
1374 DataNode
1802 NodeManager
2331 Jps
1276 NameNode
1558 SecondaryNameNode
出现问题
[grid@h1 hadoop-2.6.0]$ bin/hadoop fs -mkdir input
15/05/13 16:37:57 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: Call From h1/192.168.1.13 to h1:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
问题出在哪里?
Hadoop的网格数据节点-h1.log
2015-05-12 11:26:20,329 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG: host = h1/192.168.1.13
STARTUP_MSG: args = []
STARTUP_MSG: version = 2.6.0
Hadoop的网格名称节点-h1.log
2015-05-08 16:06:32,561 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = h1/192.168.1.13
STARTUP_MSG: args = []
STARTUP_MSG: version = 2.6.0
为什么端口9000不起作用?
[grid@h1 ~]$ netstat -tnl |grep 9000
[grid@h1 ~]$ netstat -tnl |grep 9001
tcp 0 0 192.168.1.13:9001 0.0.0.0:* LISTEN
答案 0 :(得分:2)
请启动dfs和yarn。
[hadoop @ hadooplab sbin] $ ./start-dfs.sh
[hadoop @ hadooplab sbin] $ ./start-yarn.sh
现在尝试使用“ bin / hadoop fs -mkdir输入”
当您在VM中安装hadoop然后将其关闭时,通常会出现此问题。当您关闭VM时,dfs和yarn也会停止。因此,每次重新启动VM时都需要启动dfs和yarn。
答案 1 :(得分:0)
首先尝试命令
bin/hadoop dfs -mkdir input
如果您已正确关注micheal-roll帖子,那么您应该没有任何问题。我怀疑无密码ssh在您的配置中不起作用,请重新检查它。
答案 2 :(得分:0)
以下程序解决了我的问题:
停止所有服务。
删除hdfs-site.xml中指定的namenode和datanode目录。
创建新的namenode和datanode目录并相应地修改hdfs-site.xml。
在core-site.xml中,进行以下更改或添加以下属性:
fs.defaultFS HDFS://172.20.12.168/ fs.default.name HDFS://172.20.12.168:8020
在hadoop-2.6.4 / etc / hadoop / hadoop-env.sh文件中进行以下更改:
export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.8.0_91.jdk / Contents / Home
重新启动dfs,yarn和mr,如下所示:
start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh启动历史服务器
答案 3 :(得分:0)
这个命令对我有用:
hadoop namenode -format