将Hadoop配置为多节点群集

时间:2014-12-06 19:05:11

标签: hadoop

我在VMware上的centos linux上安装了Hadoop 2.4.1。 我应该将Hadoop集群配置为多节点集群。首先,我不知道应该如何在Hadoop集群上构建多节点。第二,我应该如何配置Hadoop集群上的节点?请一步一步地详细指导我,特别是在定义节点时。

1 个答案:

答案 0 :(得分:0)

假设您正在设计两个节点集群

假设您的节点及其角色如下:

NN-host NameNode, DataNode  
DD-host DataNode1 

让我们从NameNode 192.168.3.171开始

并配置xml文件 然后更新指向我们目录的hdfs-site.xml文件:

  

$ HADOOP_INSTALL的/ etc / hadoop的/ HDFS-site.xml中

将以下内容粘贴到<configuration>代码:

之间
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/user/hdfs/datanode</value>
        <description>DataNode directory</description>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/user/hdfs/namenode</value>
        <description>NameNode directory for namespace and transaction logs storage.</description>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.datanode.use.datanode.hostname</name>
        <value>false</value>
    </property>
    <property>
        <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
        <value>false</value>
    </property>

让Hadoop模块了解NameNode所在的位置:

  

$ HADOOP_INSTALL的/ etc / hadoop的/芯-site.xml中

将以下内容粘贴到<configuration>代码:

之间
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://NN-host:50000</value> 
         <description>NameNode URI</description>
     </property>
  

$ HADOOP_INSTALL的/ etc /的hadoop / mapred-site.xml中

   <configuration>
 <property>
  <name>mapred.job.tracker</name>
  <value>NN-host:50001</value>
 </property>

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

</configuration>
  

$ HADOOP_INSTALL的/ etc / hadoop的/纱线-site.xml中

<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

</configuration>

现在我们可以通过发出:

来格式化我们的NameNode
  

hdfs namenode -format

  

hadoop namenode-format

现在我们必须确保我们的NN主机主节点可以无密码登录到其他节点:

ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@NN-host 
ssh-copy-id -i /home/user/.ssh/id_rsa.pub user@DD-host

并将您的奴隶(DataNodes)添加到从属文件。就我而言:

NN-host  
DD-host

让我们配置我们的从属数据节点192.168.3.44两者的步骤相同:

准备并创建目录:

然后更新指向我们目录的hdfs-site.xml文件:

$HADOOP_INSTALL/etc/hadoop/hdfs-site.xml

将以下内容粘贴到<configuration>代码:

之间
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>/home/user/hdfs/datanode</value>
         <description>DataNode directory</description>
     </property>
     <property>
         <name>dfs.replication</name>
         <value>2</value>
     </property>
     <property>
         <name>dfs.permissions</name>
         <value>false</value>
     </property>
     <property>
         <name>dfs.datanode.use.datanode.hostname</name>
         <value>false</value>
     </property>

让Hadoop模块了解NameNode所在的位置:

  

$ HADOOP_INSTALL的/ etc / hadoop的/芯-site.xml中

并在标记之间粘贴以下内容:

 <property>
     <name>fs.defaultFS</name>
     <value>hdfs://NN-host:50000</value>
     <description>NameNode URI</description> 
 </property>

运行datanode可以在多节点集群中看到:

  

DD-主机:50075

查看UI中的所有应用程序

  

NN-主机:8088