我在亚马逊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
让我知道我应该解决的问题。
...谢谢
答案 0 :(得分:0)
我之前遇到同样的问题,并通过以下步骤解决。
我认为您的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
希望它有效