Hadoop - EC2 ubuntu上的环境设置

时间:2016-05-27 02:10:45

标签: ubuntu hadoop amazon-ec2

我在亚马逊EC2(ubuntu)上配置hadoop 2.7.1并打开所有TCP端口(0~65535)。

我的节点结构是nameNode, resourceManager, dataNode01, dataNode02,和 每个人都有EC2。

此外,我可以在没有密钥对或密码的情况下建立SSH连接。

如果我在sbin/start-all.sh上输入nameNode,则会在SecondaryNameNode, NameNode上创建nameNodeNodeManager上会创建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正常工作?

以下这些代码就是我所做的配置。

芯-site.xml中

<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>

HDFS-site.xml中

<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>

hadoop-env.sh

(...omitted...)
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=${JAVA_HOME}/bin:${PATH}
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar

mapred-site.xml中

<configuration>
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
</configuration>

从站

resourceManager
dataNode01
dataNode02

让我知道我应该解决的问题。

...谢谢

1 个答案:

答案 0 :(得分:0)

我之前遇到同样的问题,并通过以下步骤解决。

我认为您的slaves必须包含nameNode所有其他节点。

将其添加到您的slaves

从站

nameNode
resourceManager
dataNode01
dataNode02

并在所有节点中重新创建dfs.namenode.name.dirdfs.datanode.data.dir(或data/, data/namenode, data/datanode

并格式化您的namenode hadoop namenode -format

最后,请sbin/start-all.sh

希望它有效