用于添加新datanode的hdfs-site.xml

时间:2016-06-17 08:10:49

标签: hadoop

我已经在伪分布式模式下安装了hadoop 2.7.2(machine-1)。我想为它添加一个新的datanode以使其成为一个集群。但是问题是这两台机器都有不同的磁盘分区。

我在新数据节点(机器-2)中安装了相同版本的hadoop 2.7.2,也可以在机器上使用ssh.1。在谷歌上搜索了许多网站后,都有共同的教程提到,我们必须在里面有相同的配置文件/etc/hadoop/文件夹。

如上所述,我在机器1中的现有配置是:

芯-site.xml中

    <configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home1/tmp</value>
                <description>A base for other temporary directories

        

    <property>
                <name>fs.default.name</name>
                <value>hdfs://CP000187:9000</value>
    </property>

    <property>
        <name>hadoop.proxyuser.vasanth.hosts</name>
        <value>*</value>
     </property>

    <property>
        <name>hadoop.proxyuser.vasanth.groups</name>
        <value>*</value>
    </property>
    </configuration>

HD​​FS-site.xml中:

<configuration>
     <property>
            <name>dfs.replication</name>
            <value>1</value>
     </property>
     <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/home1/hadoop_data/hdfs/namenode</value>
     </property>
     <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/home1/hadoop_store/hdfs/datanode</value>
     </property>
     <property>
            <name>dfs.permissions</name>
            <value>false</value>
     </property>
</configuration>
  

/home1是装在machine1中的磁盘。

     

Machine-2安装了两个磁盘,即/ hdd1和/ hdd2。

现在,我应该在新机器(机器2)的hdfs-site.xml中指定什么才能使用hdd1和hdd2?

所有节点的dfs.data.dir值是否必须相同?

machine2上的dfs.namenode.name.dir是否需要hdfs-site.xml属性(因为它不是名称节点)?

我的简化问题是,还必须复制从属节点中的主节点配置文件吗?请帮我解决这个问题..

2 个答案:

答案 0 :(得分:1)

在下面添加datanode检查

  1. core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml and hadoop-env.sh个文件复制到新机器hadoop dir

  2. 在/ etc / hosts

  3. 中添加IP地址或主机名
  4. slaves file(位于/etc/hadoop/

  5. 中添加新datanode的IP地址
  6. 正如您所提到的,您有2个硬盘,请在hdfs-site.xml文件中提及这些位置,如下所示 <name>dfs.datanode.data.dir<name> <property>/hdd1,/hdd2<property>

  7. 重新启动服务

答案 1 :(得分:0)

您只需要将整个hadoop文件夹从node1复制到node2。所以在两种配置中都应该指向hdfs:// CP000187:9000。您不必在node2中执行任何添加设置。

在node2中启动datanode(从sbin开始)。你只需要在node2中运行datanode和nodemanager进程

./hadoop-daemon.sh start datanode

要检查datanode是否添加正确,请在node1中运行dfsadmin -report

hadoop dfsadmin -report 

输出:

Configured Capacity: 24929796096 (23.22 GB)
Present Capacity: 17852575744 (16.63 GB)
DFS Remaining: 17851076608 (16.63 GB)
DFS Used: 1499136 (1.43 MB)
DFS Used%: 0.01%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

-------------------------------------------------
Live datanodes (2):