我在Amazon EC2(ubuntu)上配置了hadoop 2.7.1,并且打开了所有TCP端口(0〜65535)。
我的节点结构为nameNode, resourceManager, dataNode01, dataNode02
,每个节点分别具有一个EC2。
另外,我使没有密钥对或密码的SSH连接成为可能。
如果sbin/start-all.sh
在上键入nameNode
,则SecondaryNameNode, NameNode
在上创建nameNode
,NodeManager
在上创建resourceManager, dataNode01, dataNode02
。(注意:ResourceManager
未在上创建,在上resourceManager
也没有DataNode
。)
为什么DataNode, ResourceManager
创建不正确?
如果我sbin/start-yarn.sh
在上键入resourceManager
,则ResourceManager
创建。(...对吗?)
在网络上[nameNodeIP]:50070
,有3个死节点(resourceManager:50010, dataNode01:50010, dataNode02:50010
)。
sbin/start-all.sh
作品正确?下面的这些代码是我所做的配置。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://nameNode:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourceManager</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.hosts</name>
<value>/home/ubuntu/hadoop-2.7.1/etc/hadoop/slaves</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/ubuntu/hadoop-2.7.1/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/ubuntu/hadoop-2.7.1/data/datanode</value>
</property>
</configuration>
(...omitted...)
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=${JAVA_HOME}/bin:${PATH}
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
resourceManager
dataNode01
dataNode02
让我知道我应该解决的问题。
谢谢...
我之前遇到过相同的问题,请按以下步骤解决。
我认为您slaves
必须包括nameNode
所有其他节点。
将其添加到您的 slaves
nameNode
resourceManager
dataNode01
dataNode02
并在所有节点中重新创建dfs.namenode.name.dir
和dfs.datanode.data.dir
(或data/, data/namenode, data/datanode
)
并格式化你的namenode hadoop namenode -format
最后,做 sbin/start-all.sh
希望它能工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句